Заполните Datagridview в каждой новой идентичной TabPages

У меня есть TabControl с 1 TabPages и содержит DataGridView. Я создаю TabPages2 из TabPages1 с кодом:

    Dim Frm As New TabFormPage
    Dim MoreTabs As TabPage = Frm.TabPage1
    Dim i As Integer
    For i = 1 To TabControl1.TabPages.Count
        MoreTabs.Text = "TabPage" & i + 1
    Next i
    TabControl1.Controls.Add(MoreTabs)
    Frm.Dispose()

TabPages2 Элементы управления идентичны TabPages1

Если я заполнил DataGridView с BackgroundWorker в TabPages1, это работало. Но если я заполняю DataGridView в каждой новой вкладке (например, TabPages2) из ​​разных источников, это не работает (DataGridView в TabPages2/ каждая новая вкладка пуста / ничего) . Это всегда заполняет Tabpages1 DataGridView

Как заполнить каждый DataGridView в каждой новой вкладке с одинаковыми элементами управления? Вот мой код для заполнения DataGridview:

    Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        MyConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FPathTab + ";Extended Properties=Excel 12.0;")
        MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [" & CSheetTab1 & "]'", MyConnection)

        DtSet = New System.Data.DataSet
        DtSet.Clear()
        MyCommand.Fill(DtSet)
    End Sub
    Private Sub BackgroundWorker1_RunWorkerCompleted(sender As Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        DataGridView1.DataSource = DtSet.Tables(0)
        dv = DtSet.Tables(0).DefaultView
        MaxRecords = DtSet.Tables(0).Rows.Count
        MyConnection.Close()
        DataGridView1.Columns("F20").Visible = False
        DataGridView1.Columns("F21").Visible = False
        DataGridView1.Columns("F22").Visible = False
    End Sub

Спасибо за вашу помощь

0 ответов

Другие вопросы по тегам