弱弱的问下 我在C# Winform里用一个DataGridView来查询两张表的数据 第一张有4列字段 第二张有6列字段 如果是正常查询 那么查询第一张表的时候会出现4列内容 查询第二张表的时候会出现6列内容  可是现在当我先查第二张表再查询第一张表的时候  查询第一张表就会出现6列  前面4列是表一的内容  但是多了第五列和第六列(虽然第五列和第六列没内容但是有字段啊)  这样怎么改啊

解决方案 »

  1.   

    在绑定之前 清空一下数据源 DataGridView.DataSource = null;
      

  2.   

    我的代码是这样的if(sql.ds.Table["biao"] != null)
       sql.ds.Table["biao"].Clear();
    sq.select("select * from biao" + DropDownList1.Text, "biao");
    DataGridView1.DataSource = sql.ds.Table["biao"];
      

  3.   


    你把代码改为这样看行不行
    if(datagridview1.datasource != null)
      DataGridView1.DataSource = null;
    sq.select("select * from biao" + DropDownList1.Text, "biao");
    DataGridView1.DataSource = sql.ds.Table["biao"];
      

  4.   

    clear table 有什么用啊,要 clear gridview 的 datasource
      

  5.   


    this.DataGridView1.DataSourceID=null;
    if(sql.ds.Table["biao"] != null)
      sql.ds.Table["biao"].Clear();
    sq.select("select * from biao" + DropDownList1.Text, "biao");
    DataGridView1.DataSource = sql.ds.Table["biao"];
      

  6.   


    this.DataGridView1.DataSourceID=null;
    if(sql.ds.Table["biao"] != null)
      sql.ds.Table["biao"].Clear();
    sq.select("select * from biao" + DropDownList1.Text, "biao");
    DataGridView1.DataSource = sql.ds.Table["biao"];
      

  7.   


    就是那个用一个datagridview显示两张表的内容  表一有4列  表二5列  先显示表二的时候控件显示5列 再显示表一的时候控件还是出现了5列(其中前4列是表一的内容,就是多出了一列) 这是怎么回事啊
      

  8.   

    DataTable dt1 = ds.Tables[0];
    DataTable dt2 = ds.Tables[1];
    dgv.DataSource = dt1;
    dgv.DataSrouce = dt2;
    有什么问题么?
      

  9.   

    DataSet ds = .............;
    dataGridView_Dir.DataSource = null;
    dataGridView_Dir.Rows.Clear();
    dataGridView_Dir.Columns.Clear();for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        dataGridView_Dir.Cloumns.Add();
    }
    dataGridView_Dir = DataSource = ds; 或者直接遍历添加。你试试
      

  10.   

    sql.ds.Table["biao"].Clear()  //这个只是清除行数据,架构还存在,如列数sql.ds.Table["biao"].columns.clear(); 改这样,把列也清除就可以了