我必须做什么才能立即在DataGridView上进行编辑?

时间:2012-10-05 07:17:08

标签: winforms data-binding datagridview

我通过DataGridViewFileItem绑定到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专栏上进行修改?

1 个答案:

答案 0 :(得分:0)

我认为你应该把Datagridview.beginInvoke();在拉动已检查的对象之前。

我也有这个问题。从未包含上次检查的行或始终包含最后一次未选中的行。然而,我无法访问该代码,我不是100%确定这是使用的命令。