VB. NET Как обновить источник данных из DataGridView (привязка к Dataset.DataTable) - PullRequest
0 голосов
/ 02 мая 2020

Halo All ..

Я работаю с Visual Studio 2019 для создания WinFormApp

С чем я работаю следующим образом:

  1. Добавление нового DataSource из мастера, который подключается к базе данных Acces (хранится локально в приложении), имя базы данных Acces - Поставщик только с заголовками (9 заголовков) и без данных.
  2. Добавление DataGridView к Form и привязка к нему на SupplierDataSet.SupplierDataTable
  3. Добавление OpenFileDialog, где пользователи могут просматривать файл Excel, затем выбрать Имя листа и просмотреть данные в DataGridView.
  4. Добавление кнопки импорта для сохранения / обновления SupplierDataSet.SupplierDataTable

Вот мой код:

Imports System.IO
Imports ExcelDataReader

Public Class Form2

    Dim tables As DataTableCollection

    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub BtnBrowse_Click(sender As Object, e As EventArgs) Handles BtnBrowse.Click

       'read excel file
        Using ofd As OpenFileDialog = New OpenFileDialog() With
                            {.Filter = "Excel Workbook|*.xlsx"}

            If ofd.ShowDialog() = DialogResult.OK Then
                TxtFileName.Text = ofd.FileName
                Using stream = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read)
                    Using reader As IExcelDataReader = ExcelReaderFactory.CreateReader(stream)
                        Dim result As DataSet = reader.AsDataSet(New ExcelDataSetConfiguration() With {
                                 .ConfigureDataTable = Function(__) New ExcelDataTableConfiguration() With {
                                 .UseHeaderRow = True}})
                        tables = result.Tables
                        CboSheet.Items.Clear()
                        For Each table As DataTable In tables
                            CboSheet.Items.Add(table.TableName)
                        Next
                    End Using
                End Using
            End If
        End Using

    End Sub

    Private Sub CboSheet_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboSheet.SelectedIndexChanged

       'Pupulate excel file data to DataGridView
        Dim dt As DataTable = tables(CboSheet.SelectedItem.ToString())
        DataGridView1.DataSource = dt

    End Sub

    Private Sub BtnImport_Click(sender As Object, e As EventArgs) Handles BtnImport.Click

       'Here the code which I want to save/update SupplierDataSet.SupplierDataTable.

    End Sub
End Class

Так как я новичок в этом (около 2 недель). Я понятия не имею, как обновить DataTable

Пожалуйста, помогите мне. Любая помощь будет оценена.
И так большое спасибо раньше.

...