Dev ASPxGridView控件的过滤行列控件值的改变会引发EditForm对应列控件事件的解决方法

在.net web页面编程中引用了devexpress ASPxGridView控件,期间开启了过滤行功能,但是每列的过滤行控件不一致,有文本框也有下拉框,究其原因发现:在editform中如何定义,此处就会如何显示,引用的是editform中定义的控件且name与editform中有所不同,但是在过滤行中选值或录值后会引发editform中为此控件设置的事件并执行方法。这个问题苦思不得其解,明明是一个过滤行,却为什么又要引发editform中设置的事件。devexpress公司是如何设想的,为什么要这样?那只有他们自己知道了!由于在editform未弹出时,editform中的控件的通过使用ClientInstanceName 是无法获取到的,只有在editform显示时才会通过此方法找到某个控件为其赋值或取值,在editform中为其控件设置事件方法时一般会采用此方法引用控件并对之操作,所以在未显示editform时,通过过滤行查询会引发错误:提示引用了未定义的对象。直到现在依然未找到解决方法,但是为解决此问题通过网友帮助想了一个排除错误的方法,出此下策实属无奈之举!仅供参考,不做推荐,如果哪位大师找到了解决该问题的正确方法,请联系我:qq:375172665,非常感谢!
下面介绍解决方法:
由于在未弹出editform时,过滤行控件的name值有一个共性:就是都会带有“DXFREditorcol”,而在弹出editform时,该列控件的name值会带有“DXEditor”,那么就此特点我们可以大做文章喽!

在控件的事件的开头可以加上下面的检测,先检测是否为editform弹出时的控件,如果是则可以执行,如果不是则不执行(即为过滤行控件,此时不需要执行方法)
if (s.name.indexOf(‘DXEditor’) > -1)
{
//editform弹出时的控件事件设置
}
这样就可以解决了,虽然不是一个正确的方法,但是确实能解决此问题!希望能帮助大家!
秋风写于淄博,业务联系与技术交流:QQ375172665

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值