• <menu id="w2i4a"></menu>
  • logo DevExpress WPF使用技巧教程

    文檔首頁>>DevExpress WPF使用技巧教程>>DevExpress WPF使用技巧教程:WPF Data Grid和TreeList - 編輯整個行

    DevExpress WPF使用技巧教程:WPF Data Grid和TreeList - 編輯整個行


    下載DevExpress v19.2完整版    DevExpress v19.2漢化資源獲取

    通過DevExpress WPF Controls,您能創(chuàng)建有著強大互動功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋敶蛻舻男枨蠛蜆?gòu)建未來新一代支持觸摸的解決方案。DevExpress WPF Data Grid和TreeList的最新版本引入新的編輯模式——Edit Entire Row。

    在默認模式下,通過in-place編輯器進行的更改將立即發(fā)布到數(shù)據(jù)源。與默認模式不同,Edit Entire Row要求用戶按下Update按鈕來將更改顯式發(fā)布到您的數(shù)據(jù)源:

    DevExpress WPF使用技巧教程

    要激活Edit Entire Row模式,請使用TableView.ShowUpdateRowButtons / TreeListView.ShowUpdateRowButtons 屬性。

    當您在一行中更改單元格值時,WPF Data Grid / TreeList凍結(jié)UI。除非記錄或取消更改,否則不能離開已編輯的行。

    要發(fā)布所做的更改,請單擊Update按鈕;如果單擊Cancel按鈕,更改將被放棄。

    DevExpress WPF使用技巧教程

    在示例中,Data Grid綁定到實體框架:

    public MainWindow() {
    InitializeComponent();
    var context = new IssuesContext();
    grid.ItemsSource = context.Issues.ToArray();
    }
    
    public class IssuesContext : DbContext {
    // ...
    }

    當要更改網(wǎng)格值時,僅更改內(nèi)存中的副本,而不更改數(shù)據(jù)庫中的實際數(shù)據(jù)。若要保存更改并攔截可能的數(shù)據(jù)庫錯誤,請?zhí)幚?a target="_blank">GridViewBase.ValidateRow事件,并在DataContext上顯式調(diào)用SaveChanges:

    <dxg:TableView ShowUpdateRowButtons="OnCellEditorOpen"
    ValidateRow="TableView_ValidateRow" />
    
    void TableView_ValidateRow(object sender, GridRowValidationEventArgs e) {
    var issue = (Issue)e.Row;
    using(var context = new IssuesContext()) {
    var result = context.Issues.SingleOrDefault(b => b.Id == issue.Id);
    if(result != null) {
    result.Subject = issue.Subject;
    result.Priority = issue.Priority;
    result.Votes = issue.Votes;
    result.Priority = issue.Priority;
    context.SaveChanges();
    }
    }
    }

    示例中的數(shù)據(jù)庫不允許您保存帶有空主題的行:

    protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    base.OnModelCreating(modelBuilder);
    
    modelBuilder.Entity<Issue>()
    .Property(x => x.Subject)
    .IsRequired();
    }

    如果您嘗試指定一個空主題,則Data Grid將允許您更正值或單擊Cancel按鈕以返回以前的值。


    DevExpress v19.2全新發(fā)布,歡迎下載最新版體驗哦~

    DevExpress技術(shù)交流群:540330292      歡迎一起進群討論

    掃描關(guān)注DevExpress中文網(wǎng)微信公眾號,及時獲取最新動態(tài)及最新資訊

    DevExpress中文網(wǎng)微信
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();