如何在 DevExpress XtraGrid 中获得单击的单元格列

Posted

技术标签:

【中文标题】如何在 DevExpress XtraGrid 中获得单击的单元格列【英文标题】:How to get clicked cell column in DevExpress XtraGrid 【发布时间】:2012-09-07 12:14:36 【问题描述】:

我无法在 XtraGrid 的 GridControl 中获取单击单元格的列名。我怎样才能做到这一点?我正在处理GridView.Click 事件。

【问题讨论】:

【参考方案1】:

在单击事件中,您可以按如下方式解析单击的单元格:

void gridView_Click(object sender, EventArgs e) 
    Point clickPoint = gridControl.PointToClient(Control.MousePosition);
    var hitInfo = gridView.CalcHitInfo(clickPoint);
    if(hitInfo.InRowCell) 
        int rowHandle = hitInfo.RowHandle;
        GridColumn column = hitInfo.Column;
    

但是,我建议您按如下方式处理 GridView.MouseDown 事件(因为如果单击网格单元格激活列编辑器,则不会发生 GridView.Click 事件):

gridView.MouseDown += new MouseEventHandler(gridView_MouseDown);
//...
void gridView_MouseDown(object sender, MouseEventArgs e) 
    var hitInfo = gridView.CalcHitInfo(e.Location);
    if(hitInfo.InRowCell) 
        int rowHandle = hitInfo.RowHandle;
        GridColumn column = hitInfo.Column;
    

相关链接:Hit Information Overview

【讨论】:

如何在 devexpress mvc 中做到这一点?

以上是关于如何在 DevExpress XtraGrid 中获得单击的单元格列的主要内容,如果未能解决你的问题,请参考以下文章

DevExpress XtraGrid 格式 - 如何将所有负数括在括号中

如何获取 DevExpress XtraGrid 的选定行值?

DevExpress XtraGrid如何使单元格只读?

DevExpress.XtraGrid.GridControl 实现自定义tooltip

请问 DevExpress.XtraGrid.GridControl 何获取行对象?

DevExpress XtraGrid自动空行的问题