翻譯|使用教程|編輯:龔雪|2020-02-18 13:33:05.007|閱讀 361 次
概述:DevExpress WPF Data Grid和TreeList的最新版本引入新的編輯模式——Edit Entire Row,本文將為大家展示如何進行編輯整個行操作,歡迎下載最新版體驗哦!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
下載DevExpress v19.2完整版 DevExpress v19.2漢化資源獲取
通過DevExpress WPF Controls,您能創(chuàng)建有著強大互動功能的XAML基礎應用程序,這些應用程序?qū)W⒂诋敶蛻舻男枨蠛蜆嫿ㄎ磥硇乱淮С钟|摸的解決方案。DevExpress WPF Data Grid和TreeList的最新版本引入新的編輯模式——Edit Entire Row。
在默認模式下,通過in-place編輯器進行的更改將立即發(fā)布到數(shù)據(jù)源。與默認模式不同,Edit Entire Row要求用戶按下Update按鈕來將更改顯式發(fā)布到您的數(shù)據(jù)源:
要激活Edit Entire Row模式,請使用 / 屬性。
當您在一行中更改單元格值時,WPF Data Grid / TreeList凍結UI。除非記錄或取消更改,否則不能離開已編輯的行。
要發(fā)布所做的更改,請單擊Update按鈕;如果單擊Cancel按鈕,更改將被放棄。
在示例中,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í)幚硎录?并在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技術交流群:540330292 歡迎一起進群討論
掃描關注DevExpress中文網(wǎng)微信公眾號,及時獲取最新動態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)