勇敢的小鹿

从事着代码生涯的小鹿,悄悄走到你的身边...

 

关于Xta DataNavigator 拦截End Edit等按钮探索

        在本次项目中,我使用了第三方组件 Developer Express Inc .NET 的XtaEditor 以及XtraGrid,其中也包括了DataNavigator控件,俗称数据导航条。下面我将近日使用该控件取得的一些经验与大家分享。
        顾名思义,数据导航条,那么是与数据库有关的,怎么使显示控件EditText以及XtraGrid的数据与数据导航导航条联动?这可能是我们考虑要使用该控件第一个要问的。其实,我不用在这里给大家买关子了,许多朋友会说,让二者绑定相同的Dataset。对,事实上也是这么做的。
      如何显示数据导航信息,如“Record  1 of  10”?这个很容易实现,可以设置TextLocation 属性即可,通过该属性还是改变信息显示的位置,如:显示在头部、尾部还是中部等。
      如何保存数据?
       在按钮中有个勾样的按钮,也叫End Edit ,即结束编辑的意思,当触发这个按钮事件后,数据存回到DataSet中,怎么存回到数据库中呢,难道还要定义一个保存到数据库的按钮,不能重写这个事件?答案是否定的
      我在网上搜索了一阵子,这个控件应用的太少,不对,应该是国内应用的少,或者说,有人用过但是却没有给后来的人留下寻问的足迹。于是我仔细分析研究其属性方法事件,其中有个事件引起我的注意:ButtonClick(在其帮助中members是没有列出的),
       怎么知道是哪个按钮触发呢。继续探索实验,发现它的button全部引用至DataNavigatorButtons Class,继续研究这个复杂东西,其中有个ButtonType 是主要呈现按钮类型的,看来找到解决方法了,嘻嘻......
 Private Sub DataNavigator1_ButtonClick(ByVal sender As ObjectByVal e As DevExpress.XtraEditors.NavigatorButtonClickEventArgs) Handles DataNavigator1.ButtonClick
Select Case (e.Button.ButtonType)     
 
Case DevExpress.XtraEditors.NavigatorButtonType.EndEdit 
'保存数据.
End Select             
end sub
至于其他按钮事件的拦截,不用我多说了,想必大家一用都清楚了。
值得注意的是,该写事件后其原始事件处理方式就不起作用了。

posted on 2006-03-09 08:56  明月清风路  阅读(1124)  评论(2编辑  收藏  举报

导航