将新行添加到筛选的DataGridView中
本文关键字:DataGridView 筛选 新行 添加 | 更新日期: 2023-09-27 18:00:12
我正在实现基于所选按钮的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;
}
但这于事无补。
使用RowValidating事件而不是UserAddedRow。
private void dataGridView_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
dataGridView.Rows[e.RowIndex].Cells["rID"].Value = selectedRID;
}
我认为最好使用RowValidated事件。根据MSDN DataGridView.RowValidated事件您应该"使用此事件对一行值执行后处理"
private void dataGridView_RowValidated(Objectsender,DataGridViewCellEventArgs e)
{
dataGridView.Rows[e.RowIndex].Cells["rID"].Value = selectedRID;
}