1。

我正在使用绑定到数据集的DataGridView。
还有一个bindingNavigator。

当用户通过单击“ bindingNavigatorDeleteItem”按钮删除行时,我正在尝试删除该行。

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
        int crow = gridEventType.CurrentCell.RowIndex;


但在删除所选行之后,它会返回新选择的行。
所以,如果我有两行
0
1个
2
我删除了2

乌鸦是1,而不是2。

我在这里想念什么吗?

2.我如何知道是否在datagridview中修改了某些行?

谢谢,

最佳答案

您应该使用DataGridViewCellEventArgs

private void bindingNavigatorDeleteItem_Click(object sender,
                                                  DataGridViewCellEventArgs e)
{
   int cRow =  gridEventType.Rows[e.RowIndex];

   //delete row from persisted storage

   //rebind data to persisted storage or remove row directly:
   gridEventType.Rows.RemoveAt(cRow);
}


关于第二点,有一个CellValueChangedEvent

    private void bindingNavigatorModifiedCell_CellValueChanged(object sender,
                                                   DataGridViewCellEventArgs e)
    {
         //updated row
         int cRow = e.RowIndex;
    }

10-07 19:01
查看更多