我有一个DataGridView的表单,dataTable的dataSourced . 当我在最后插入记录时,我按下清除按钮或表单所有字段(文本框,组合框,DGV复选框)在我按下保存按钮时自动清除 .
我通常通过写下来清除文本框和组合框:
textbox1.text = ""
combobox1.text = ""
但是当我用这样清除DGV时:
dgvPurchase.dataSource = nothing
dgvPurchase.Refresh()
或者dgvPurchase.rows.clear()
它确实清除了DGV,但是当我添加新条目时,DataGridView和数据都不会出现在DGV中 . 在Form Load事件上,我有以下代码:
dtField = retrieveFull("ProductBasicInfo")
cmbPurProdID.DisplayMember = "ProdName"
cmbPurProdID.ValueMember = "ProdID"
cmbPurProdID.DataSource = dtField
dtPurchase.Columns.Add("ProdID")
dtPurchase.Columns.Add("ProdName")
dtPurchase.Columns.Add("RetailerID")
dtPurchase.Columns.Add("RetailerName")
dtPurchase.Columns.Add("UnitPrice")
dtPurchase.Columns.Add("Qty")
dtPurchase.Columns.Add("Amount")
dgvPurchase.DataSource = dtPurchase
请指导我,我的数据源没有任何干扰,或者如果我清除它,那么它也刷新DataSource .
这是添加按钮代码,它将数据添加到DataGridView中
Try
For a As Integer = 0 To dtPurchase.Rows.Count - 1
If dtPurchase.Rows(a).Item("ProdID") = cmbPurProdID.SelectedValue Then
MessageBox.Show("This product is already enlisted")
Exit Sub
End If
Next
dRow = dtPurchase.NewRow
dRow.Item("ProdID") = cmbPurProdID.SelectedValue
dRow.Item("ProdName") = cmbPurProdID.Text
dRow.Item("RetailerID") = cmbPurRetailerID.SelectedValue
dRow.Item("RetailerName") = cmbPurRetailerID.Text
dRow.Item("UnitPrice") = txtPurUnitPrice.Text.Trim
dRow.Item("Qty") = txtPurQty.Text.Trim
dRow.Item("Amount") = txtPurAmount.Text.Trim
dtPurchase.Rows.Add(dRow)
1 回答
您可以创建新的空
DataTable
并将其设置为:C#
vb.Net
这对你有用吗?