解密酷炫WPF界面开发技巧!WPF Data Grid和TreeList

点击“了解更多”获取DevExpress v19.2完整版下载

通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序# j H h G专注于当代客w Q A k % M @ f户的需求和构建未来新一代支持触摸的解决方案。DevExpress WPF Data Grid和TreeList的最新版本^ ] z T m # + N引入新的编辑模式——Edit Entire Row。

在默认模式下,通过in-place编辑器进行的更改将立即发布j o U d S r到数据源。与默认模式不同,Edit Entire Row要求用户* 8 M ~按下Update按钮G q v Y ? p . E n来将更改显式发布到您的数据源:

解密酷炫WPF界面开发技巧!WPF Data Grid和TreeList

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

当您在一行中更改单元格值时,WPF Data Grid / TreeList冻结UI。除非记录或取消更改,否则不3 Z `能离开已编辑的行。

要发布所做的更改,请单击Update按钮;如果单击Cancel按钮,更改将被放弃。

解密酷炫WPF界面开发技巧!WPF Data Grid和TreeList

在示H H F w q r 1 i例中,Data Grid绑定到实体框架:

public MainWindow() {InitializeComponent();var context = new IssuesContext();grid.ItemsSo1 / f surce = context.Issues.ToArray();}

public class IssuesConte~ C v Pxt : DbContext {// ...}

当要更改网格值时,仅更改内存中的副本,而不更改数据库t , + N { * = (中的实际数据。若要保存更改并拦截可能的数G M 9据库错误,请处理GridViewBase.ValidateRow事件,并在DataContext上显式# ) 4s / , g用SaveChanges:

<dxg:TableView ShowUpdateRowButtons=\"OnCellEditorOpen\"VaV Y F U 4lidateRow=$ Z x s 7 .\"TableView_ValidaB y i ateRow+ K :\" />

void TableView_ValidateRow(object sender, Go _ ~ A prid* ( C H 8RowValida= z h ~ h 3tionEventA2 ; : v 7 $ rrgs e) {var issue = (Issue)e. ( LRow;using(var context = new IssuesContext()) {var resulb + j U It = co - , Wntext.Issues.SingleO_ 4 drDefaulty B W S t(b => b.Id == issue.Id);if(result != null) {result.Subject = issue.Subject;result.Pri; u 7 @ority = issue.Priority;result.Votes = issue.Votes;result.Priority = issuZ * | ne.Priol t l Lrity;context.SaveChanges();}}}

示例中的数据库不允许您保存带有空主题的行:

protected override void OnModelCreating(DbModelBuilder modelB+ [ `uilder) {base.OnModelCreating(e 8 p J 2 d LmodelBuilder);

modelBuilder.Entity<Issue>().Property(x => x.Subject).IsRequired();}

如果您尝试指定一个空主题,则Data Grid将允许您更正值或单击Cancel按钮以返回以前的值。


上一篇

18部高分悬疑剧,你猜到开头却猜不到结尾

下一篇

朱元璋最长寿的女儿,历经8朝7个皇帝,临终前获得皇后级待遇

你也可能喜欢

  • 暂无相关文章!

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
返回顶部