0

我通过一个DataGridView绑定到一个FileItem对象列表FileItemBindingSource。我想简单地将网格绑定到我的列表,并让用户选中或取消选中每个项目的复选框列,然后单击按钮,从网格中获取所有选中的项目。现在,如果我使用以下代码,即使在 UI 中选中了一些框,返回的对象都已将 Checked 设置为 false。

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

我必须怎么做才能对我的 Checked 列进行编辑?

4

1 回答 1

0

我认为你应该把 Datagridview.beginInvoke(); 在您拉出选中的对象之前。

我也有这个问题。从未包含最后选中的行或始终包含最后未选中的行。但是,我无权访问该代码,并且我不能 100% 确定这是要使用的命令。

于 2012-10-05T07:59:36.907 回答