[英]how can i add a row datagridview programaticaly
使用这些代码后,我可以在datagridview中添加一行并写入数据吗?
我可以写 manuel 但我不能用按钮写
.Rows(0).Cells(0).Value = CARKOD.Text
.Rows(s).Cells(1).Value = UNVAN.Text
.Rows(s).Cells(2).Value = ACIKLAMA
With MAHSUP
Dim dt1 = New DataTable()
myDA1 = New OleDbDataAdapter(cm1)
Dim builder1 As OleDbCommandBuilder = New OleDbCommandBuilder(myDA1)
myDataSet1 = New DataSet()
myDA1.Fill(myDataSet1, "CARTH001")
.DataSource = myDataSet1.Tables("CARTH001").DefaultView
End With ```
数据绑定的全部意义在于控件显示数据源的内容。 然后它为用户提供一个 UI 以与该数据源进行交互。 如果要更改代码中的数据,请使用数据源,而不是 UI。
将DataTable
绑定到DataGridView
,正确的做法是在它们之间使用BindingSource
并使用它来访问代码中的数据。 您可以在设计器中添加BindingSource
,然后像这样绑定:
Dim myDataTable As New DataTable
myDataAdapter.Fill(myDataTable)
myBindingSource.DataSource = myDataTable
myDataGridView.DataSource = myBindingSource
要添加一行,请在BindingSource
上调用AddNew
。 这将返回新项目,即DataRowView
。 您填充它,然后将其提交到底层DataTable
, DataGridView
将显示它,例如
Dim newRow = DirectCast(myBindingSource.AddNew(), DataRowView)
newRow("SomeColumn") = someValue
myBindingSource.EndEdit()
总而言之,不要直接使用DataTable
的DefaultView
。 请务必将DataTable
绑定到BindingSource
并将其绑定到您的 UI。 务必使用BindingSource
在代码中操作和导航绑定数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.