dataGrid.DataSource=ds.Tables[tableName];//error
->
dataGrid.DataSource=ds;
dataGrid.DataMember=ds.Tables[TableName];
dataGrid.Refresh();

解决方案 »

  1.   

    应该重新绑定DataGrid才能让其显示的数据得到刷新,比如在Form_Load事件中:
    SqlDataAdapter data = new SqlDataAdapter("SELECT" +
    " * FROM "+tableName, sqlConnection);
    //DataSet ds = new DataSet();
    //ds定义为成员变量,即在方法体之外定义,如:private DataSet ds=new DataSet();
    //则此处就可以直接使用,在下面也就不用重新new出一个了。
    data.Fill(ds);
    dataGrid.DataSource=ds.Tables[tableName];
    在一个Button的Click事件来处理更新显示数据:
    SqlDataAdapter adapter = new SqlDataAdapter"希望更新的SQL语句", sqlConnection);
    //DataSet ds = new DataSet();
                               ds.Table.Clear();
    adapter.Fill(ds);
    dataGrid.DataSource=ds.Tables[tableName];
      

  2.   

    一楼的dataGrid.Refresh();这一句是不会有效果的。
    还有把这一句dataGrid.DataSource=ds.Tables[tableName];
    换成:dataGrid.DataSource=ds;
          dataGrid.DataMember="tableName";
    不过我印象中这两句跟上面的一句效果没什么区别
      

  3.   

    如果设置了dataGrid的datasource的话,你更改dataset.table["表明"]里面的数据就可以了
      

  4.   

    怎么在Form_Load事件中加载啊
    具体应怎么写
      

  5.   

    TO 91bct(路人) :
    没试过不要乱说。