我有一個可編輯的無界datagridview。我正在以編程方式更改新行的值。以編程方式使新行變髒,並在DataGridView後面插入新行
正常情況下,當用戶在新行的任何字段中輸入時,它會變髒,並在其下面插入另一個新行。
但在我的情況下,當用戶進入新行的任何字段時,我會捕獲功能鍵並以編程方式更改單元格值。
myGrid.CurrentCell.Value =「xyz」;
而且它不會在其下面插入新行。
現在作爲一個解決方法,我在CellValueChanged事件處理程序上試過這個。
if (myGrid.NewRowIndex == e.RowIndex)
{
myGrid.Rows.Insert(e.RowIndex + 1, 1);
}
但它會拋出錯誤說No row can be inserted after the uncommitted new row.
。
我怎麼能告訴myGrid我已經使當前行(這是一個新行)變髒,並且在它之後需要新行?
我投了這個票,但隨着更多的測試,我發現我還需要像@Haider所建議的那樣NotifyCurrentCellDirty(False) – isedwards 2017-01-19 07:58:48