如何找出点击了哪个 DataGridView?

Posted

技术标签:

【中文标题】如何找出点击了哪个 DataGridView?【英文标题】:How to find out which DataGridView is clicked? 【发布时间】:2012-11-13 05:15:08 【问题描述】:

我已经动态地创建了一个 DataGridViews 数组,并为每个 gridview 添加了 DataGridViewCellEventHandler, 我想在单击时更改当前 DataGridView 单元格值,要更改单元格值,您必须知道数组中的当前 DataGridView 索引为 dataGridView[i].Rows[colIndex].Cells[rowIndex].Value, 如何找出点击了哪个DataGridView?

这是我的代码。

DataGridView[] altGridViews=new DataGridView[10];
for (int i = 0; i < 10; i++)

 altGridViews[i]=new DataGridView();
 altGridViews[i].RowCount = 3;
 altGridViews[i].ColumnCount = 3;
 altGridViews[i].AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
 altGridViews[i].CellClick += new         
 DataGridViewCellEventHandler(altGridView_Click);
 this.Controls.Add(altGridViews[i]);

和 DataGridView 偶数处理程序

protected void altGridView_Click(object sender, DataGridViewCellEventArgs e)

     int colIndex = e.ColumnIndex;
     int rowIndex = e.RowIndex;
 //todo: change current cell value
 //altGridViews[i].Rows[colIndex].Cells[rowIndex].Value="something";
 

【问题讨论】:

【参考方案1】:
protected void altGridView_Click(object sender, DataGridViewCellEventArgs e)

    int colIndex = e.ColumnIndex;
    int rowIndex = e.RowIndex;
    var currentDataGridView = sender as DataGridView; //your grid
    currentDataGridView.Rows[colIndex].Cells[rowIndex].Value="something";
 

【讨论】:

这正是我所需要的!非常感谢! 这对我有帮助。对我来说,我必须将最后一行中的索引切换为: currentDataGridView.Rows[rowIndex].Cells[colIndex].Value = "something";

以上是关于如何找出点击了哪个 DataGridView?的主要内容,如果未能解决你的问题,请参考以下文章

c#双击 dataGridView 会触发CellContentClick 怎么点击dataGridView会触发CellClick事件

C#winform问题 datagridview中combobox选项改变触发事件用哪个方法

c# datagridview1 指定某列数据居中

如何仅使用选定的列从Access数据库填充我的DataGridView?

GWT CELLTABLE pager 如何判断用户点击了哪个按钮?

如何确定在 iOS 中点击了哪个视图?