【问题标题】:How to clear all data in datagridview and it would not effect in delete data如何清除datagridview中的所有数据并且它不会影响删除数据
【发布时间】:2009-07-19 06:21:17
【问题描述】:

如何清除所有数据而不删除 datagridview 中的数据或列?我想先清空数据再查询结果,使结果不重复。

【问题讨论】:

  • 请澄清您所说的“清除所有数据”是什么意思 - 这与删除数据有何不同?
  • 当我想看到我的结果时。例如: "SELECT ColumnID,columnDesc from columns where groupDesc = '" & ComboBox1.Text & "'" 我想查询我的结果,它在我的datagridview中出现一些重复的结果,而不是我需要先清除它然后才运行查询以避免我的结果出现以前的结果。

标签: vb.net winforms datagridview


【解决方案1】:

我不确定我是否理解你的问题,但是 - 从 DataGridView 中清除所有行非常简单:

dataGridView1.Rows.Clear();

关于查询重复,您可以使用SELECT DISTINCT。 还有一件事:我希望你的代码只是一个简化的例子,因为它高度暴露于SQL injections。

【讨论】:

    【解决方案2】:

    如果您通过代码绑定 DataGridView,即使用 DataSource 属性,您可以使用以下代码清除 DataGridView。

    dataGridView1.DataSource=null;

    它不会从您的数据库中删除数据,只需清除您的 DataGridView。

    【讨论】:

      【解决方案3】:

      在 vb.net 中你可以使用:

      datagridview1.Datasource = 无

      但它会清空你的 datagridview1 并将其初始化为默认值。

      【讨论】:

      • 这也会擦除数据网格列,而如下所示,dataGridView.DataSource.Clear() 只会删除内容并保持列和设置不变。因此,如果您不每次加载数据时都加载列(不应该这样做),这不是一个好方法。
      【解决方案4】:

      如果datagrid是绑定数据你应该这样做:

      dataGridView.DataSource = null;
      dataGridView.DataSource.Clear();
      

      如果datagrid是未绑定的数据,则不需要将数据源清空:

      dataGridView.DataSource.Clear();
      

      另一个技巧是:

       dt.Columns.Clear();
       dt.Rows.Clear();
       dataGridView.DataSource = dt;
      

      【讨论】:

        【解决方案5】:

        我不得不将 Sujith 修改为以下内容:

        DataGridView1.DataSource = DBNull.Value

        【讨论】:

          【解决方案6】:

          如果要确保它会清除所有状态,则可以使用以下代码:

          dataGridView.CancelEdit()
          dataGridView.Columns.Clear()
          dataGridView.DataSource = Nothing
          dataGridView.Rows.Clear()
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-26
            • 2013-02-04
            • 2021-08-20
            • 2012-05-29
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多