将 datagridview 存储到数据行中

Store datagridview into datarow

我想将值存储在 DatagridView 中,并将它们存储在 DataTable 中。我正在使用以下代码,但我做错了什么,因为它没有将它移动到 DataTable?

   Dim dt As New DataTable, ds As New DataSet

        Dim updatelist As String = String.Empty
        For i As Integer = 0 To dgvSteak.Rows.Count - 1
            updatelist = dgvSteak.CurrentRow.Index


            Dim newSteakRow As DataRow = ds.Tables("Steak").NewRow()

            newSteakRow("STEAK_ID") = dgvSteak.Item("Steak_ID", i).Value
            newSteakRow("STEAK_Name") = dgvSteak.Item("Steak_Name", i).Value

            ds.Tables("Steak").Rows.Add(newSteakRow)

        Next

这是我用来将 datagridview 复制到数据表的方法,它似乎有效。因此数据表第 2 行第 4 列将与 datagridview 第 2 行第 4 列等具有相同的值。

    Dim datatable1 As New DataTable
    Dim a, b As Integer

    ' make the datatable rows and columns match the datagridview
    a = 0
    Do While a < Me.DataGridView1.ColumnCount
        datatable1.Columns.Add()
        a += 1
    Loop
    a = 0
    Do While a < Me.DataGridView1.RowCount
        datatable1.Rows.Add()
        a += 1
    Loop

    ' add datagridview values to datatable
    a = 0
    Do While a < Me.DataGridView1.ColumnCount
        b = 0
        Do While b < Me.DataGridView1.RowCount
            datatable1.Rows(a).item(b) = Me.DataGridView1.Rows(a).cells(b).value
            b += 1
        Loop
        a += 1
    Loop
 Dim dt As New DataTable()

        For c As Integer = 0 To DataGridView1.Columns.Count - 1
            dt.Columns.AddRange(New DataColumn() {New DataColumn(DataGridView1.Columns(c).HeaderText, GetType(String))})
        Next

        For r As Integer = 0 To DataGridView1.Rows.Count - 1
            dt.Rows.Add(DataGridView1.Rows(r))
        Next

        For c As Integer = 0 To DataGridView1.Columns.Count - 1
            For r As Integer = 0 To DataGridView1.Rows.Count - 1
                dt.Rows(r).Item(c) = DataGridView1.Rows(r).Cells(c).Value.ToString
            Next
        Next