1

これは、私が作ろうとしている URL 同時ダウンロード プログラムの一部です。という名前のデータテーブルに保存された URL リストがあり、 という名前のデータグリッドビューtblにバインドされていdgvUrlsます。無効な URL に遭遇するたびに、それをデータテーブルから削除します。

以下のコードを使用してエラーを再現しました。はButton3_Click、データテーブルに 100 行を追加し、datagridview のデータソースとして作成します。は、最初q()の行を削除することで、行を 1 つずつ削除します。問題は、データグリッドビューがデータテーブルで行われた変更を反映していないことです

    Dim tbl = New DataTable

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    'Add 100 urls, for simplicity i'm adding only integers
    tbl.Columns.Add("Urls")
    For i = 1 To 100
        tbl.Rows.Add(i)
    Next

    'bind to datagridview so that the end user can see the urls being download/removed from the list 
    dgvUrls.DataSource = tbl

    'start multithread download , for simplicited (of this question) we have only one
    Dim t As Thread = New Thread(AddressOf Download)
    t.Start()

   t.Join()
   dgvUrls.Refresh()

End Sub

Private Sub download()
    'for simplicity, the 1st 80 urls were dead!
    For i = 1 To 80
        'we remove the dead urls
        tbl.Rows.RemoveAt(0)
    Next
4

1 に答える 1