DataGrid.DataSource不一定是DataSet对象啊!

解决方案 »

  1.   

    我调用DgTest(DataGrid dg)的时候传过去的DataGrid是用DataSet作为DataSource的阿,为什么不行呢
      

  2.   

    private void DgTest(DataGrid dg)
    {
             DataSet ds=(DataSet)dg.DataSource;//这种转换是错误的
    int cc=ds.Tables.Count;
    }
    如果是为了得到表的记录行数,可作如下改进:
    private void DgTest(DataGrid dg)
    {
             DataView dv=(DataView)dg.DataSource;
    int cc=dv.Count;
    }
      

  3.   

    先绑定,才有dataSource,
    DataSet ds=(DataSet)dg.DataSource;
    if(dg!=null) //判断一下
      int cc=ds.Tables.Count;
      

  4.   

    是web程序吗?如果是,是因为每调用一个事件之前,会自动调用FromLoad()事件,而且并不保存各控件的设置。这样需要将信息保存到Seesion中