dev gridview控件双击事件
2014-10-31 13:23
253 查看
使用过dev gridview控件的朋友都知道,gridview本身的DoubleClick 事件有一点小小的问题。
例如要实现双击girdview中的明细弹出该条记录的维护界面的功能。首先定义gridview的DoubleClick 事件,
但是程序运行时会有些小小的问题,无论你双击这个gridview的任何位置,都会弹出当前gridview焦点行对应的编辑界面。最理想的效果是只双击数据行才会弹出窗口而双击gridview的非数据行位置则不弹出,因此我们需求捕捉鼠标的位置,这里我们用到了GridHitInfo 。
首先定义一个GridHitInfo对象,在gridview的MouseDown事件中初始化这个对象,用于保存鼠标按下坐标位置(这里的位置是相对gridview的位置而不是鼠标在界面中的位置)。这样处理后,只有双击数据行位置才会弹出编辑窗口,而双击其他位置则无效。
本文中的上hInfo还可以定义不同的区域的不同处理方式,用处很大。
例如要实现双击girdview中的明细弹出该条记录的维护界面的功能。首先定义gridview的DoubleClick 事件,
//双击弹出编辑界面 private void gridView1_DoubleClick(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) return; try { //TODO:双击弹出编辑界面 } catch (Exception ex) { MessageBox.Show(ex.Message); } }
但是程序运行时会有些小小的问题,无论你双击这个gridview的任何位置,都会弹出当前gridview焦点行对应的编辑界面。最理想的效果是只双击数据行才会弹出窗口而双击gridview的非数据行位置则不弹出,因此我们需求捕捉鼠标的位置,这里我们用到了GridHitInfo 。
//双击弹出编辑界面 private void gridView1_DoubleClick(object sender, EventArgs e) { if (gridView1.FocusedRowHandle < 0) return; try { //双击某一单元格,执行代码 if (hInfo.InRowCell) { //TODO:双击弹出编辑界面 } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// <summary> /// 获取鼠标坐标 /// </summary> DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hInfo = new DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo(); private void gridView1_MouseDown(object sender, MouseEventArgs e) { hInfo = gridView1.CalcHitInfo(e.Y, e.Y); }
首先定义一个GridHitInfo对象,在gridview的MouseDown事件中初始化这个对象,用于保存鼠标按下坐标位置(这里的位置是相对gridview的位置而不是鼠标在界面中的位置)。这样处理后,只有双击数据行位置才会弹出编辑窗口,而双击其他位置则无效。
本文中的上hInfo还可以定义不同的区域的不同处理方式,用处很大。
相关文章推荐
- Dev的Gridview控件,实现 每一行行的双击的事件
- DEV gridview 捕获行双击事件
- DEV gridview 捕获行双击事件
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- 支持行单击、双击事件的GridView和DataList控件(译)
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- GridView控件(六)—数据行响应鼠标的单击和双击事件
- c# dev gridview 行双击事件
- 上接扩展GridView控件(6) - 响应行的单击事件和双击事件
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- DEV-aspxgridview行客户端单击双击事件RowClick、RowDblClick 、
- 扩展GridView控件(6) - 响应行的单击事件和双击事件
- DEV gridview 捕获行双击事件
- gridView控件常用事件
- 扩展GridView控件(0) - 基本架构、增加事件和要点汇总
- GridView 控件编程的事件
- GridView Web 服务器控件事件
- 扩展GridView控件(0) - 基本架构、增加事件和要点汇总
- ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法