如何找出点击了哪个 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选项改变触发事件用哪个方法
如何仅使用选定的列从Access数据库填充我的DataGridView?