2013-04-12 61 views
0

我有這行代碼把「真」上selectedrows的所有第一列:在datagridview中設置SELECTEDROWS列的值的最快方法是什麼?

For Each row As DataGridViewRow In DataGridView1.SelectedRows 
    row.Cells(0).Value = True 
Next 

但它需要花費大量的時間把一個單個值此列,如果行數較多比一百。 row.Cells(0)是一個布爾列,我只需要它被設置爲選中/取消選中。

我試着檢查是否有一個將設置列的值的語法,但是我找不到有用的語法和從搜索引擎中可用的語法。希望你能幫助我這個。在此先感謝

回答

1

如果DataGridView是數據綁定,則不應該直接修改單元格的內容。相反,你應該修改數據綁定對象。您可以通過DataGridViewRowDataBoundItem訪問該對象,例如, C#:

MyObject obj = (MyObject)dataGridView.CurrentRow.DataBoundItem; 
obj.MyProperty = newValue; 

注意,綁定對象應該實現INotifyPropertyChanged,使這一變化反映在DataGridView 找到here

vb.net:

Dim obj As MyObject = DirectCast(dataGridView.CurrentRow.DataBoundItem, MyObject) 
obj.MyProperty = newValue 
+0

IM要求在vb.net。 ..>。<..爲什麼你必須複製所有原始答案的內容? –

+0

公平點我已經包括vb.net給你。在我的手機上:S – STiTCHiCKED

+0

沒關係..謝謝..但是我指的是SELECTED ROWS ..而不是CURRENTROW ..我應該再次使用同一個循環,但只修改bindingsource/databound對象的值嗎? –

相關問題