使用以下命令在dataGridView1.Rows.Add();
中创建新行
private void button1_Click(Object sender, EventArgs e)
{
dataGridView1.Rows.Add();
}
private void dataGridView1_RowsAdded(Object sender, DataGridViewRowsAddedEventArgs e)
{
MessageBox.Show(e.RowCount + ";" + e.RowIndex);
}
我有一个新行,但e.RowIndex仍然在新创建的行之前显示索引。
{{1}}
因此,如果我有2行,我会正常地使用RowIndex 0和1。 但是当以编程方式添加一个带有" .add()"的新行时事件RowsAdded显示RowIndex仍然是1而不是2,这是新创建的行。
答案 0 :(得分:0)
这可能有所帮助,或者使其更加混乱。该行将插入最后一个新行之前:
dataGridView1.RowsAdded += (o, e) => Debug.Print(e.RowIndex + "\t" + dataGridView1.RowCount
+ "\t" + dataGridView1.Rows[e.RowIndex].IsNewRow);
dataGridView1.Columns.Add("", ""); // 0 1 True
dataGridView1.Rows.Add(); // 0 2 False
dataGridView1.Rows.Add(); // 1 3 False
dataGridView1.Rows.Add(); // 2 4 False
但如果用户添加了行,则在用户刚输入的最后一行之后添加新行:
1 2 True
2 3 True
3 4 True