gridview怎样单击一个单元格,得到此单元格所在行和所在列的字段名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gridview怎样单击一个单元格,得到此单元格所在行和所在列的字段名相关的知识,希望对你有一定的参考价值。

例如:我单击第三行第二列的4,怎样得到上面的列字段名“总重量”和行的“b”,表中所有单元格都要有这样的效果。请大家帮帮忙啊~~谢谢

因为gridview根本没有cellclick事件之类的东西,所以想实现点击哪个单元格就弹出列标题,行标题是比较麻烦。
解决方法,我想到两种:
1、在为gridview绑定数据时,就动态为每一个单元格生成一个JS的onclick事件,弹出列标题和行标题。但是,代码很复杂,我也没写过。
2、这个方法比较简单,以前也有写过。
定义模板列,将每个数据显示在label上,在label的click事件里写代码,就可以获取到
参考技术A
恩,我也在做这个东西。现在在网上找到一种方法:
GridView1.Rows[j].Cells[i].Attributes.Add("onclick", "newwin=window.open('Yiding.aspx','newwin','width=800,height=800');");
这个代码可以直接运行,作用是弹出一个页面,你可以自己定义弹出什么页面;也可以选择把后面的那个函数改了,改成一个自定义函数,然后在函数里添加事件。不过貌似跟java.script有关系,这个我就不知道怎么用了。算是为你提供一种思路吧,望能共同进步。如果找到方法还劳烦HI告诉我一下,谢了~本回答被提问者采纳
参考技术B 如果是在Winform里的 直接在鼠标单击事件里写以下代码就可以了:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)

string b = this.dataGridView1.CurrentRow.Cells[0].Value;//获取b
//获取列名
int columnIndex = this.dataGridView1.CurrentCell.ColumnIndex;
string columnName = this.dataGridView1.Columns[columnIndex].Name;
参考技术C 它有个Row属性可以通过它的索引Row[index]放问到第几行,然后Row[index].Column[index]的那一列的值
Row[0].Column[0]的值就是c...
Row[0].Column[1]的值就是5...
Row[1].Column[0]的值就是b...
Row[1].Column[1]的值就是4...
.
.
.
参考技术D gridview不是有一个选择的按钮么!你加一个选择列然后按照一楼的方法得到你要的,需要的话可以将你得到的数据用显示到页脚

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

【中文标题】如何在 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 中做到这一点?

以上是关于gridview怎样单击一个单元格,得到此单元格所在行和所在列的字段名的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 找到从矩阵的一个单元格移动到另一个单元格所需的最小移动次数

无法将 UICollectionView 的单元格所需的视图出列

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

如何获取gridview单元格的值

C# 设置DEV控件gridview单元格字体颜色

DevExpress下的gridView中,怎样要把一个string数据保存到表的一个单元格cell中