将新行添加到筛选的DataGridView

时间:2015-06-26 18:59:32

标签: c# .net winforms datagridview

我正在根据所选按钮实现dataGridView的过滤。 如果选择的按钮1仅显示rID = 1的行,如果为2则仅显示rID = 2 ... 这很好。 问题是在dataGridView中添加新行。一旦我添加新行,它就会因为过滤而从dataGridView中隐藏。我尝试过:

private void dataGridView_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
    DataGridViewRow row = e.Row;
    row.Cells["rID"].Value = selectedRID;
}

但它没有帮助。

2 个答案:

答案 0 :(得分:0)

使用RowValidating事件而不是UserAddedRow。

private void dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
    dataGridView.Rows[e.RowIndex].Cells["rID"].Value = selectedRID;
}

答案 1 :(得分:0)

我认为最好使用RowValidated事件。根据MSDN DataGridView.RowValidated Event 你应该“使用这个事件对一行值进行后处理”

private void dataGridView_RowValidated(Objectsender,DataGridViewCellEventArgs e) 
{    
    dataGridView.Rows[e.RowIndex].Cells["rID"].Value = selectedRID;
}