我们知道,通过C1FlexGrid的AllowAddNew属性设置为true,在c1flexgrid的底部会出现一个NewRow行。
当进入NewRow行的单元格的编辑状态,就会自动给C1FlexGrid添加一行。
如果我们想增加逻辑,在某些条件下取消AddingRow,由于没有AddingRow的相关事件,就可以在BeginningEdit事件里去判断和设置,取消单元格进入编辑状态,以便达到需求。
这里我们需要介绍两个属性:ListCollectionView的IsAddingNew和CancelNew。
对于IsAddingNew属性,如果正在进行添加,则为true,否则为false。通过调用ComitNew或CancelNew结束该添加事务。
该属性的详细说明,可以参考微软的MSDN:https://msdn.microsoft.com/zh-cn/library/system.windows.data.listcollectionview.isaddingnew(v=vs.110).aspx
我们就可以通过IsAddingNew属性判断是否正在添加行,如果是,就取消添加。
代码参考:
private void c1FlexGrid1_BeginningEdit_1(object sender, CellEditEventArgs e) { if (((System.Windows.Data.ListCollectionView)(c1FlexGrid1.CollectionView)).IsAddingNew) { ((System.Windows.Data.ListCollectionView)(c1FlexGrid1.CollectionView)).CancelNew(); e.Cancel = true; } }
更多资源
C1FlexGrid在线英文产品文档地址:
http://helpcentral.componentone.com/nethelp/c1wpfchart/#!Documents/componentonechartforwpf.htm
如果你对C1FlexGrid感兴趣,请到我们的官网下载最新版本:/download/?pid=6
如果你有疑问,可以到GCDN论坛获得技术支持:http://gcdn.grapecity.com.cn/showforum-138.html