2012-10-05 75 views
0

我有一個DataGridView綁定到FileItem對象的列表,通過FileItemBindingSource。我想簡單地將網格綁定到我的列表,並讓用戶選中或取消選中每個項目的複選框列,然後單擊按鈕,從網格中獲取所有選中的項目。現在,如果我使用以下代碼,即使在UI中選中了一些框,返回的對象也都將Checked設置爲false。必須做什麼才能立即對DataGridView進行編輯?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    FileItemBindingSource.EndEdit() 
    Dim allFiles = DirectCast(FileItemBindingSource.DataSource, IEnumerable(Of FileItem)) 

    Dim checkedFiles = allFiles.Where(Function(f) f.Checked).Select(Function(f) f.FilePath) 

End Sub 

我綁定數據如下:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    FileItemBindingSource.DataSource = GetFiles() 

End Sub 

我應該做些什麼讓我的託運列的編輯?

回答

0

我認爲你應該把Datagridview.beginInvoke();然後拉動選中的對象。

我也有這個問題。最後一次檢查的行從未包含或最後未經檢查的行始終包含在內。 Howerver,我沒有訪問該代碼,我不能100%確定這是使用的命令。

+0

值得注意的是,通過取消BindingSource並將我的對象綁定到網格,我實現了我想要的目標。儘管如此,這並不是真正的答案。 – ProfK

相關問題