如何使用C#清除DataGridView中的行?
此行中出现以下错误。
datagridview1.Rows.Clear()
但这一行给出了错误:
无法清除此列表。
当我在将数据绑定到DataTable之后尝试清除DataGrid的DataSource时,我也遇到了类似的问题:
DataTable DT = ... ; // fill it datagridview1.DataSource = DT;
当我尝试使用以下代码稍后清除它的行时:
datagridview1.DataSource = null
我收到此错误:
ERROR: Object reference not set to an instance of an object
此对象引用ERROR问题已在此处解决。 但我设法用这段代码解决了我自己的问题(清除DataGridView行):
DataTable DT = (DataTable)datagridview1.DataSource; if (DT != null) DT.Clear();
我知道很久以前就问过这个问题,但我希望我的解决方案可以解决某些问题。
private void button_Limpar_Click(object sender, EventArgs e) { DataTable DT = (DataTable)dataGridView_Cidade.DataSource; if (DT != null) DT.Clear(); } #endregion
你的DataGridView
是否绑定到DataSource
,我认为这就是为什么它不允许你清除它,因为它绑定到底层的DataTable
或List
。
您可以尝试将DataSource属性设置为null
datagridview1.DataSource = null;
清除
您必须清除数据源而不是datagridview行。
datagridview1.DataSource = null;
另一种方式是
1)不要将直接数据源分配给gridview。 从datatable添加行到gridview
foreach (DataRow row in dataTable.Rows) { var dataGridRow = new DataGridViewRow(); dataGridRow.CreateCells(datagridview1); for (int i = 0; i < row.ItemArray.Length; i++) { dataGridRow.Cells[i].Value = row.ItemArray[i]; } datagridview1.Rows.Add(dataGridRow); }
然后用
datagridview1.Rows.Clear()
只需在活动开始时添加此行:
dgv_nameOfGridView.DataSource=false;
现在每次点击它都会删除dgv ..
你可以使用这个简单的方法:
首先清除DataTable,然后刷新DataGridView
dataTable.Clear(); dataGridView.Refresh();
希望这有帮助
简单的解决方案是清除DataSet。 ds.Clear();
由于您使用的是绑定网格,您是否尝试过两次调用加载函数并validation数据是否加倍?
由于它是绑定的,加载两次不应该重复数据。
http://www.vbforums.com/showpost.php?s=aa5f116586c00a2d9ea15e3727fc5c2f&p=2841192&postcount=9
首先清除DataSource然后清除DataGridView
在VB中
datagridview1.DataSource = Nothing datagridview1.Rows.Clear()
希望有所帮助
如果使用参数加载DataGridView,则可以向其发送空参数。 这将清除您的DataGridView,而不必将其DataSet设置为null。
例如,当我填充TextBox时,我用代码加载我的DataGridView。
this.dataTable1TableAdapter.Fill(this.ds_MyDataSet.DataTable1, TextBox1.Text);
如果我想清除它的内容,那么
this.dataTable1TableAdapter.Fill(this.ds_MyDataSet.DataTable1, "");
我遇到了与许多解决方案一样的问题。
最后,我意识到如果我们使用它的属性“DGV.Datasource”我们无法清除DataGridView,因为DGV从数据集中获取数据,因此您需要清除DataTable行
Dataset.Tables["TableName"].Rows.Clear();
如果在表单的加载中使用此function,则需要添加条件
if (DataSet.Tables["TableName"] !=null) Dataset.Tables["TableName"].Rows.Clear();
或者你会得到这个错误
你调用的对象是空的。