【问题标题】:How to clear data grid view after each selection of comboBox to retrive new data每次选择组合框后如何清除数据网格视图以检索新数据
【发布时间】:2016-10-04 09:08:57
【问题描述】:

在我的查看项目表单中,当我选择索引 0 时,我的组合框有两个项目“数据包和片段”,它应该检索数据包数据或选择索引 1 来检索片段数据..应该发生什么每次不同的选择都会清除数据网格视图行和列,但它会将先前选择的列放在新的列上..我的代码中的问题在哪里? ..问候

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if(comboBox1.SelectedIndex==0)
            {
                viewItemsdgv.DataSource = null;
                viewItemsdgv.Rows.Clear();
                viewItemsdgv.Columns.Clear();
                dt.Clear();
                da = new SqlDataAdapter("select itmBar as Barcode,itmTrdName as 'Trading name' ,itmScName as 'Scintfic name',pack as 'Pills in packet',tab as 'Pills in table',exdate as 'Expire date',packQuant as 'Packet quantity',tabQuant as 'Table quantity' from item where buyDflt !='buyDfltPiecerdb'", cn);
                da.Fill(dt);
                viewItemsdgv.DataSource = dt;
            }
            if (comboBox1.SelectedIndex == 1)
            {
                viewItemsdgv.DataSource = null;
                viewItemsdgv.Rows.Clear();
                viewItemsdgv.Columns.Clear();
                dt.Clear();
                da = new SqlDataAdapter("select itmBar as Barcode,itmTrdName as 'Trading name' ,pieceQuant as 'Pieces quantity',exdate as 'Expire date' from item where buyDflt='buyDfltPiecerdb'", cn);
                da.Fill(dt);
                viewItemsdgv.DataSource = dt;
            }
        }

【问题讨论】:

  • @stuartd DataBind() 不适用于 Winform 的 DataGridView。它适用于 ASP.NET 的 GridView
  • 你的代码是多余的,但它应该可以工作

标签: c# winforms datagridview combobox


【解决方案1】:

您正在删除 DataGridView 的列,您还需要删除数据表 (dt) 的列。

添加

dt.Columns.Clear();

之前

dt.Clear();

【讨论】:

  • 先生,谢谢您的回答,您解决了我的问题,我还在学习,您的建议对我来说意义重大.. 问候
  • 谢谢。这是我第一次为 Stack Overflow 做出贡献,我很高兴我对某人有所帮助。
猜你喜欢
  • 2017-01-18
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2017-12-18
  • 1970-01-01
相关资源
最近更新 更多