我正在根据所选按钮实现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;
}
但它没有帮助。
答案 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;
}