2013-05-06 103 views
1

我有一個DatagridView與選項AllowUserToAddRows = True。 因此,我的用戶可以看到最後一個空白行,如果他插入的東西那裏生成一個新的行。c#DatagridView設置NewRow狀態添加

我有一些計算要做,當用戶更改單元格值爲此我使用EndEdit事件。而且我還使用自定義上下文菜單從此Datagridview中刪除行。

所以,現在我的問題,如果我添加一個新的行(和重要),如果我沒有改變選定的行後創建,然後刪除一行通過Contextmenu兩行,新創建和我想刪除消失。

我看到如果我創建一個新的行此行是初始的分離狀態,並得到添加後,我改變選定的行。

所以我的問題,有沒有辦法創建一個行並將狀態設置爲以編程方式添加? DataRow中有一個setAdded方法,但當Row被分離時我無法調用它。

我發現MSDN文章說我必須添加行到RowCollection然後添加Rowstate,但在我的情況(和介意)行是allready在RowCollection當然我將它添加到datagridview。 ...

我希望你能理解我這個令人毛骨悚然的英語,如果你需要Sourcecode來理解我的含義就問。

最佳Regads

回答

1

你可以監聽RowsAdded事件並更改值之一在處理新行(和它改回來,因此用戶不會注意到)。這應該與手動更改行中的某些值相同。

如果在新行上未更改任何值,則默認情況下不會添加值,否則每次編輯都會將新的空行添加到您的集合中。

+0

是的,就是這樣。 非常感謝! – Bador 2013-05-06 09:36:33