我有一個DataGridView dataTable的窗體。當我在最後插入記錄時,按下清除按鈕或形成所有字段(文本框,組合框,DGV複選框)會在我按下保存按鈕時自動清除。清除DataGridView,而不會丟失源
我通常通過字跡清晰的文本框和組合框:
textbox1.text = ""
combobox1.text = ""
但是當我做明確DGV與此類似:
dgvPurchase.dataSource = nothing
dgvPurchase.Refresh()
或 dgvPurchase.rows.clear()
它確實清除了DGV,但是當我添加新條目時,DataGridView和數據都不會出現在DGV中。在窗體的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
請指引我,有我的數據源不打擾,或者如果我清除它,所以它也刷新了數據源的任何方式。
這是添加按鈕的代碼,添加數據到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)
將'datagridview's''DataSource'設置爲新的空'DataTource'。 – Marek
請添加您的表單的屏幕截圖。 – Neolisk
快速解決方案:將代碼從'Form.Load'放入自己的方法(例如:'LoadData')。然後在'Form.Load'事件處理函數中調用這個方法,並且在清空行之後... – Fabio