找回密码
 立即注册

QQ登录

只需一步,快速开始

CanYou1
高级会员   /  发表于:2015-8-13 14:04:00
31#
回复 30楼Alice的帖子

CanceledNewRow和CanceledRowEdit事件什么时候会被触发?或者说在什么样的操作或代码下它会被触发?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-13 17:06:00
32#
回复 31楼CanYou1的帖子

CanceledNewRow当新行的编辑被取消会触发。
请参考产品文档:
http://helpcentral.componentone. ... celedNewRow_EV.html

CanceledRowEdit行编辑被取消的时候触发。
请参考产品文档:
http://helpcentral.componentone. ... eledRowEdit_EV.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-8-13 21:12:00
33#
回复 32楼Alice的帖子

Alice,按照你28楼的代码,我复制了过来,但在Data_PropertyChanged方法里,因无法找到那个grid而报错,如下图:



怎么办?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-14 11:51:00
34#
回复 33楼CanYou1的帖子

你提到的grid找不到的问题不能重现,在你之前提供的demo进行测试。
请检查你的C1DataGrid的Name是什么?这里指的是c1flexgrid的name。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-8-17 08:26:00
35#
回复 34楼Alice的帖子

明白了,你给的例子是把LoadingRow方法直接定在页面后台的,对于只有一个页面,这样做很方便。但是,我们项目有几十上百个页面,我不可能在每个页面后台都加你28楼所给的代码,而且一个页面也可能有多个C1DataGrid,不可能给每个都取个名字(类似那里的grid)。所以我必须在每个页面的基类里写那段代码,这就涉及我33楼说的找不到grid的问题了。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-17 11:39:00
36#
回复 35楼CanYou1的帖子

谢谢反馈
你可以使用最简单的方法获取:
  1. void grid_LoadingRow(object sender, C1.WPF.DataGrid.DataGridRowEventArgs e)
  2.         {
  3.             if (e.Row.DataItem is INotifyPropertyChanged)
  4.             {
  5.                 var data = e.Row.DataItem as INotifyPropertyChanged;
  6.                 data.PropertyChanged +=(s, e1)=>
  7.                 {
  8.                     ClearDuplicateRowError(e.Row.Errors);
  9.                 };
  10.             }
  11.             ClearDuplicateRowError(e.Row.Errors);
  12.         }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-8-17 13:50:00
37#
回复 36楼Alice的帖子

好的,谢谢,我找时间试了后再给你反馈
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-8-17 14:30:00
38#
回复 36楼Alice的帖子

Alice,这段代码我能加在基类里了,但遗憾的是,它还是没能解决我在25楼所出现的问题,e.Cancel=true时并没有触发那段代码。我很想在e.Cancel=true之后,立即清空这行的Row.Errors,也就是解决25楼最下面说的第1)个问题,请问有什么办法?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-17 15:57:00
39#
回复 38楼CanYou1的帖子

很抱歉,目前校验触发的全部事件已经提供给你。
正如我之前说的,由于不能重现你的问题,所以很难对问题进行调查。
在28楼的是根据你提供的图片给出的一些建议。

如果需要我这里进行进一步的调查,还请你提供一个简单重现问题的Demo,否则无法调查下去,所做的也只能是猜测和建议。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
CanYou1
高级会员   /  发表于:2015-8-17 23:11:00
40#
回复 39楼Alice的帖子

Alice,我之前说过我是很想做个Demo给你的,但并不容易,我之前花了4个多小时也没做出来,现在太忙没时间再消耗在这个Demo上。但是,我觉得25楼最下面说的第1)个问题是你们C1DataGrid的一个产品缺陷,无论如何,一个空行怎么可以有错误提示呢?对吧?我很希望你们C1能解决这个缺陷,或者有办法不让它表现出来。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部