找回密码
 立即注册

QQ登录

只需一步,快速开始

q406157290
高级会员   /  发表于:2015-5-8 09:23:00
11#
回复 9楼Alice的帖子








加上这个_flexDei.RowEditEnding += rowEditEnding;
            _flexDei.RowEditEnded += rowEditEnded;
它验证出错不会还显示在页面上

本帖子中包含更多资源

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

x
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-8 10:31:00
12#
回复 11楼q406157290的帖子

只需要下面一个事件就可以了,像rowEditEnded,rowEditEnding,selectChangeing,CellEditEnded事件加多了反而会乱;
  1. private void _flexDei_CellEditEnding(object sender, CellEditEventArgs e)
  2. {
  3.         try
  4.         {
  5.                 foreach (Column column in _flexDei.Columns)
  6.                 {
  7.                         foreach (Row row in _flexDei.Rows)
  8.                         {
  9.                                 if (!string.IsNullOrEmpty(row.GetErrors(column)))
  10.                                 {
  11.                                         // e.Cancel = true;// 注释掉,否则编辑的内容无法应用,该单元格位置的编辑状态始终无法结束
  12.                                         C1FlexGridFilter filter = C1FlexGridFilterService.GetFlexGridFilter(_flexDei);
  13.                                         ColumnFilterEditor editor = filter.Editor;
  14.                                         List<object> values = new List<object>();
  15.                                         foreach (object obj in editor.Filter.ValueFilter.Values)
  16.                                         {
  17.                                                 values.Add(obj);
  18.                                         }
  19.                                         values.Add(_flexDei[e.Row, e.Column]);
  20.                                         editor.Filter.ValueFilter.Values = values;
  21.                                 }
  22.                         }
  23.                 }
  24.         }
  25.         catch (Exception ex)
  26.         {
  27.                 MessageBox.Show(ex.Message);
  28.         }
  29. }
复制代码

在对values集合处理时,values.Add(_flexDei[e.Row, e.Column]); 在这之前最好判断此时单元格编辑后的值是否在集合内,再决定是否添加;

评分

参与人数 1金币 +300 收起 理由
Alice + 300 感谢你提供的代码,奖励300金币。

查看全部评分

回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-8 11:52:00
13#
:t( 不是应该给我评分吗 :t(

评分

参与人数 1满意度 +5 收起 理由
q406157290 + 5 必须评分 但是我看以前都是ALICE给你评呢 哈哈

查看全部评分

回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-5-8 13:53:00
14#
回复 12楼KNight的帖子

干的漂亮!~
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-8 14:11:00
15#
回复 14楼q406157290的帖子

我也不是很清楚这里的评分机制 解决问题就好了
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-5-8 14:12:00
16#
回复 12楼KNight的帖子

太棒了 太优秀了
现在还有问题
如果单元格出现了错误的Check ,我的目的是按ESC时触发RowEditEnding方法
现在问题是 出现了错误的Check   Fileter还可以点击开,还可以筛选,当点击Fileter的时候 再按Esc时就不会触发RowEditEnding事件了,并且如果对其他列进行筛选就把出现错误Check的行筛选没了
能否做到出现了错误的Check  任何列的Fileter不可点击
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-8 14:16:00
17#
回复 16楼q406157290的帖子

新问题是要开新帖的,还是你自己手动另开新帖把问题移过去吧,减少Alice的工作量,哈哈,这个问题我看看
回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-5-8 14:37:00
18#
回复 17楼KNight的帖子

:share: 幸苦了
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-8 14:43:00
19#
回复 16楼q406157290的帖子

出现错误的Check时,通过 filter.Editor.IsEnabled = false; 的设置可以达到点开Filter也不可以进行筛选的效果,这样可以吗?这样应该就不会影响RowEditEnding事件以及由于其他列的筛选而导致错误Check行被筛选掉的事情了。

评分

参与人数 1满意度 +5 收起 理由
q406157290 + 5 好评

查看全部评分

回复 使用道具 举报
q406157290
高级会员   /  发表于:2015-5-8 15:27:00
20#
回复 19楼KNight的帖子

我之前一直是想着filter.IsEnabled 结果发现没有这个属性就放弃了
原来如此啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部