すべてのセルをループし、2 つの文字列 (SearchString と CellString) を比較して、datagridview 内で検索を実行しようとしています。
私は作業を 4 つのスレッドに分割し (各スレッドに処理する行の異なる 4 分の 1 を割り当てることにより)、並列に動作します。スレッドは異なる行をループするため、同じセルを同時に読み取ることはできません。そのため、エラーはないと思います。
各スレッドは次のことを行います。
dim CellString as string
For i As Integer = startrow To endrow
For Each cell As DataGridViewCell In DataGridView.Rows(i).Cells
CellString = cell.Value.ToString.ToLower ''Error appears here
If cell.ColumnIndex <> 4 Then
Select Case Compare(CellString, SearchString) ''complex function that compares 2 strings
''....
End Select
End If
Next
Next
私が得るエラーは次のとおりです。
BindingSource を独自のデータ ソースにすることはできません。DataSource および DataMember プロパティを、BindingSource を参照する値に設定しないでください。
BindingSource も DataSource もいじらないので、なぜこれが起こるのかわかりません。また、更新は行わず、すべてのセルを文字列として読み取るだけです。
同様の問題が見つからなかったので、助けていただければ幸いです。