我有一个datagridview,其中包含从设计器添加的列,此网格的数据将从数据库中选择,并将直接绑定到网格。为此,我将DataPropertyName用于数据库表的列名。
我正在设置这样的数据源:
dgPayment.DataSource = myDatatable
现在我需要清除datagridview的行而不删除datagridview的标题。我尝试使用dgPayment.Rows.Clear()
,但这会引发错误,因为网格已绑定&因此无法手动更改行。我也尝试将数据源设置为这样:
dgPayment.DataSource = Nothing
但是这也删除了标题,这不需要发生,因为它们是我使用设计器添加的列标题。如何在不清除标题的情况下仅清除数据。
答案 0 :(得分:3)
如果您通过设计器创建列,则在表单constructor
或Load
事件处理程序中放置下一行代码
dgPayment.AutoGenerateColumns = false
然后自由使用dgPayment.DataSource = Nothing
删除所有行
答案 1 :(得分:2)
仅从数据表中删除行。
DataTable.Rows.Clear()
。这将保持列完整。
然后刷新数据 -
CurrencyManager cm = ((CurrencyManager)) dataGridView1.BindingContext[dataGridView1.DataSource];
cm.Refresh();
答案 2 :(得分:1)
试试这个
dataGridView1.DataSource.Rows.Clear()