【问题标题】:DataGridView & datasource will not clearDataGridView & 数据源不会清除
【发布时间】:2017-02-09 15:09:07
【问题描述】:

我有一个从 BindingList 接收其信息的 DataGridView。当程序运行时,DGV 应该完全空白,没有任何行数据。但是,它会在某些单元格中创建一个包含几个值的行。在我的表单启动中,我已经包含了

ExpenseList = new BindingList<ExpenseReportBackBone>();            
            dataGridViewPurchaseData.DataSource = ExpenseList;
            ExpenseList.Clear();
            dataGridViewPurchaseData.Rows.Clear();

尝试将其清空,但它仍然显示为屏幕截图所示。 为什么这不是对空白 DGV 开放?

【问题讨论】:

  • 您是否尝试在DataGridView 中将AllowUsersToAddRows 设置为false?
  • 好吧,是的,这样做修复了它。这很奇怪,这会以这种方式影响它......如果你想在下面发帖,我可以标记一个答案

标签: c# winforms datagridview


【解决方案1】:

AllowUsersToAddRows 设置为 true 作为 DataGridView 的默认设置,您看到的是新添加的行。

【讨论】:

    【解决方案2】:

    我不知道为什么运行程序时它不为空,但尝试清除它 首先将数据源设为空:

    this.dataGridView.DataSource = null;
    

    在清除行之后

    this.dataGridView.Rows.Clear();
    

    如果您使用的是 BindingList

    DataGrid.DataSource = null;
    DataGrid.DataBind();
    

    【讨论】:

    • 它使数据网格为空,当他运行程序时它不是空的,因为加载表单上有一些应该被删除的东西
    • 看看用户的代码——他们创建了一个新列表,所以它已经是空的了。将 DataSource 设置为 null 将删除列。 DataBind(); 用于 ASP,而不是 WinForms。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 2016-09-12
    • 2013-02-04
    • 2021-10-12
    相关资源
    最近更新 更多