找回密码
 立即注册

QQ登录

只需一步,快速开始

wddw

初级会员

6

主题

17

帖子

265

积分

初级会员

积分
265

活字格认证

wddw
初级会员   /  发表于:2011-7-1 11:56  /   查看:6003  /  回复:1
CellValidating不通过,e.cancel=true 的情况, 如何把cell的值清空

1 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2011-7-2 14:44:00
沙发
我不确定十分了解您的意思,您是否是要清空正在编辑的值?
请尝试以下代码,确定是否满足您的需求。

C#
  1.         void gcMultiRow_CellValidating(object sender, CellValidatingEventArgs e)
  2.         {
  3.             if (IsInvalidValue(e.FormattedValue))  // 值不合法。
  4.             {
  5.                 e.Cancel = true;
  6.                 IEditingControl editingControl = gcMultiRow.EditingControl as IEditingControl;
  7.                 if (editingControl != null)
  8.                 {
  9.                     editingControl.FormattedValue = null;
  10.                 }
  11.             }
  12.         }
复制代码
VB
  1. Private Sub gcMultiRow_CellValidating(sender As Object, e As CellValidatingEventArgs) Handles gcMultiRow.CellValidating
  2.         If IsInvalidValue(e.FormattedValue) Then
  3.                 ' 值不合法。
  4.                 e.Cancel = True
  5.                 Dim editingControl As IEditingControl = TryCast(gcMultiRow.EditingControl, IEditingControl)
  6.                 If editingControl IsNot Nothing Then
  7.                         editingControl.FormattedValue = Nothing
  8.                 End If
  9.         End If
  10. End Sub
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部