Devexpress GridControl GridView双击事件优化


devexpress gridview控件添加双击事件,只有点击行数据的时候才执行的解决办法

使用过dev gridview控件的朋友都知道,gridview本身的DoubleClick 事件有一点小小的问题。 例如要实现双击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);
    }
}
GarsonZhang www.yesdotnet.com

但是程序运行时会有些小小的问题,无论你双击这个gridview的任何位置,都会弹出当前gridview焦点行对应的编辑界面。最理想的效果是只双击数据行才会弹出窗口而双击gridview的非数据行位置则不弹出,因此我们需求捕捉鼠标的位置,这里我们用到了 GridHitInfo

  /// <summary>
/// 双击查看
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void View_DoubleClick(object sender, EventArgs e)
{
    if (hitInfo != null && (!hitInfo.InRow))
        return;
    DoView(_Buttons.GetButtonByName(YESWin.UI.Core.RibbonButton.RibbonCommonButtonName.View));
}
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hitInfo;

private void Value_MouseDown(object sender, MouseEventArgs e)
{
    if (_SummaryView is GridView)
        hitInfo = (_SummaryView as GridView).CalcHitInfo(e.X, e.Y);
    else
        hitInfo = null;
}
GarsonZhang www.yesdotnet.com

首先定义一个GridHitInfo对象,在gridview的MouseDown事件中初始化这个对象,用于保存鼠标按下坐标位置(这里的位置是相对gridview的位置而不是鼠标在界面中的位置)。这样处理后,只有双击数据行位置才会弹出编辑窗口,而双击其他位置则无效。

本文中的上hInfo还可以定义不同的区域的不同处理方式,用处很大。

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:【银行】联行号查询
下一篇:DevExpress Winform统一设置字体大小
评论列表

发表评论

评论内容
昵称:
关联文章

Devexpress GridControl GridView事件优化
Devexpress GridControl GridView添加右键菜单
Devexpress表格GridControl主从表点从表获得当前选中行
DevExpress表格GridControl添加操作列单元格添加图片按钮并且实现点链接URL跳转浏览器
DevExpress表格GridView不触发CustomUnboundColumnData事件
DevExpress 使用GridControl 会计凭证财务金额分位显示
Devexpress GridControl明细标签控制,隐藏detail标签
Devexpress gridControl SummaryItem显示格式化设置DisplayFormat
devexpress gridview显示分组group文本
在Winform框架的多文档界面中实现子窗口单独弹出或拖出及拽回的处理
Devexpress GridControl表格无法鼠标滚轮上下滚动
[原创] Devexpress表格GridView展示星级等级星星图标
Devexpress GridControl删除控件中多余无效的ColumnEdit组件
Devexpress 表格GridView列RepositoryItemPictureEdit异步加载远程URL图片
C#性能优化总结
devexpress gridview修改单元格值后按回车没有立即刷新Summary,必须移动焦点行才行
Devexpress GridView焦点离开表格的时候保持选中行的选中颜色
操作事件列表
Devexpress RibbonControl获得内容宽度
记一次数据库查询优化记录

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码