VB.Net清除没有标题的datagridview行

时间:2014-07-21 12:16:33

标签: vb.net winforms datagridview

我有一个datagridview,其中包含从设计器添加的列,此网格的数据将从数据库中选择,并将直接绑定到网格。为此,我将DataPropertyName用于数据库表的列名。

我正在设置这样的数据源:

dgPayment.DataSource = myDatatable

现在我需要清除datagridview的行而不删除datagridview的标题。我尝试使用dgPayment.Rows.Clear(),但这会引发错误,因为网格已绑定&因此无法手动更改行。我也尝试将数据源设置为这样:

dgPayment.DataSource = Nothing

但是这也删除了标题,这不需要发生,因为它们是我使用设计器添加的列标题。如何在不清除标题的情况下仅清除数据。

3 个答案:

答案 0 :(得分:3)

如果您通过设计器创建列,则在表单constructorLoad事件处理程序中放置下一行代码

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()