|Column 1|Column 2|
|1 |1 |
|2 |2 |
|3 |3 |
|4 |4 |
|5 |5 |
|6 |6 |
|7 |7 |
|8 |8 |
|9 |9 |
| | |
假设我在我的datagridview上显示这个,现在我正在添加新行(第10行)。我正在检查用户是否在我之后使用该数据之前将任何列留空,现在如果用户在第1列中插入了某些内容,并且第2列留空了我检查它并显示消息“第2列不能为空”,但之后我希望他的选择(currentrow)在那个空单元格我的问题是新行没有索引(它有,但当我使用它,我得到错误,我不能使用大于最大的索引行)。我该怎么解决呢。
以下是我正在检查
的代码部分 int nRows = dataGridView1.Rows.Count;
int currColumn = dataGridView1.CurrentCell.ColumnIndex;
int currRow = dataGridView1.CurrentCell.RowIndex;
string id = dataGridView1.Rows[currRow].Cells[0].Value.ToString();
string opis = dataGridView1.Rows[currRow].Cells[1].Value.ToString();
if (string.IsNullOrEmpty(id))
{
MessageBox.Show("Polje broj ne moze biti prazno!");
dataGridView1.CurrentCell = dataGridView1[0, nRows];
}
else if (string.IsNullOrEmpty(opis))
{
MessageBox.Show("Polje opis ne moze biti prazno!");
dataGridView1.CurrentCell = dataGridView1[1, nRows];
}
答案 0 :(得分:0)
一个选项可能是订阅DataGridView
RowsAdded
事件
dataGridView.RowsAdded += dataGridView1_RowsAdded
private void dataGridView1_RowsAdded(object sender,
DataGridViewRowsAddedEventArgs e)
{
// validation code.
e.RowIndex; // newly added row index.
}