我有一个绑定到自定义集合的数据网格视图。 我在UI中添加了删除选项,这将在datagridview中添加和删除一行。
有没有办法在datagridview中获取新添加的行?
答案 0 :(得分:4)
DataGridView有一个RowAdded事件,每次添加一行时都会触发(duh!)。 Event args的类型为:DataGridViewRowsAddedEventArgs,它上面有一个RowIndex属性,可以让你做类似的事情:
public Form1()
{
InitializeComponent();
this.dataGridView1.RowsAdded += new DataGridViewRowsAddedEventHandler(dataGridView1_RowsAdded);
}
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewRow newRow = this.dataGridView1.Rows[e.RowIndex];
}
答案 1 :(得分:1)
RowPrePaint事件最适合获取新添加的行。我正在使用数据绑定datagridview。
private void dataGridView1_RowPrePaint(object sender, DataGridViewRowsAddedEventArgs e)
{
DataGridViewRow newRow = this.dataGridView1.Rows[e.RowIndex];
}
RowsAdded事件对我不起作用。我假设,DataGridView不会一次添加一行或存在其他一些问题。 RowsAdded中的e.RowIndex保持返回0或1。