0

を介して、オブジェクトDataGridViewのリストにバインドしています。グリッドをリストに単純にバインドし、ユーザーが各アイテムのチェックボックス列をチェックまたはチェック解除できるようにしてから、ボタンをクリックすると、チェックされたすべてのアイテムをグリッドから取得します。現在、次のコードを使用すると、UI でいくつかのボックスがチェックされていても、返されるオブジェクトはすべて Checked が false に設定されています。FileItemFileItemBindingSource

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

チェック済み列の編集を取得するにはどうすればよいですか?

4

1 に答える 1

0

Datagridview.beginInvoke();を配置する必要があると思います。チェックされたオブジェクトをプルする前に。

私もこの問題を抱えていました。最後にチェックされた行が含まれなかったか、最後にチェックされていない行が常に含まれていました。ただし、そのコードにアクセスすることはできず、これが使用するコマンドであるかどうかは100%わかりません。

于 2012-10-05T07:59:36.907 に答える