单击索引超出了绑定范围
本文关键字:绑定 范围 索引 单击 | 更新日期: 2023-09-27 17:58:24
我需要获取datagridview
和cellClick_event
的最后一个编辑单元格的行索引。
我试过这样:
private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
var lastIndex = DataGridView.SelectedRows[DataGridView.SelectedRows.Count - 1].Index;
var currentIndex = DataGridView.CurrentRow.Index;
if (currentIndex != lastIndex)
{
//code
}
else
{
}
}
但它不起作用。我收到错误:
index out of bound
- 如何使用
cellClick_event
获取数据网格视图的最后一次编辑的cell's
行索引 - 除了
datagridview.cellclick
,还有其他事件可以解决吗
假设您想将单击的行与当前正在编辑的行进行比较,这应该可以做到;
void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e) {
int currentIndex = DataGridView.CurrentRow.Index;
int clickedCellRowIndex = e.RowIndex;
if (currentIndex == clickedCellRowIndex) {
//do work
}
将datagridview editeMode设置为EditonEnter。然后,当您在单元格中单击时,它应该会为您提供最后一个修改行的索引,即您已插入的单元格的行索引。
int i = dataGridView.CurrentRow.Index;
或者,如果您在编辑了前一行的索引之后,可以将上述值记录在"Cell_Leave"事件句柄中。
不能使用CellEndEdit事件吗。当调用此命令时,您将可以访问刚刚编辑过的行。然而,你必须想办法看看它是否真的被编辑了,我认为即使编辑被取消,这也被称为编辑。
B
它可能会帮助您完成
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.CurrentCell = dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells[e.ColumnIndex];
}