有这样的事?
你再试试:
DataView objDataView= objDataTable.DefaultView;
grid.DataSource = objDataView;
lblOutput.Text = "";

解决方案 »

  1.   

    DataTable objDataTable = objReader.GetSchemaTable();
    返回的是列元数据,并非你存储的数据。
    可以直接用SqlDataReader绑定,比如
    SqlDataReader objReader = objCMD.ExecuteReader();
    grid.DataSource = objReader;
    grid.DataBind();
      

  2.   

    谢谢ameng_2002(wader)还请问一下如果用DataView绑定为什么就会出错,请帮个忙好吗?
      

  3.   

    用DataView可以绑定啊,只是因为你生成的DataView不正确。
    比如可以这样
    DataSet ds=new DataSet();
    SqlDataAdapter da=new SqlDataAdapter("select .....",con);
    da.Fill(ds,"table");
    DataView dv=ds.Tables["table"].DefaultView;
    ...
    grid.DataSource = dv;
    grid.DataBind();
      

  4.   

    你的意思是说:用SqlDataReader所得到的DataView是不可以的是吗?必须通过DataSet得到的DataView才能用来绑定吗/
      

  5.   

    你先看看DataTable objDataTable = objReader.GetSchemaTable();
    返回的数据是不是你想要得数据??
      

  6.   

    ameng_2002(wader)我是新手,
    你说的看看DataTable objDataTable=bjReader.GetSchemaTable();是不是我要想要的数据可我不知怎么看?能具体点吗?我可以加分给你!!!
      

  7.   

    GetSchemaTable 方法,返回关于每个列的元数据,比如ColumnName,ColumnName,ColumnSize,NumericPrecision。。,
    即返回表的结构,并不是返回表中的数据!
    ms-help://MS.VSCC/MS.MSDNVS.2052/cpref/html/frlrfSystemDataSqlClientSqlDataReaderClassGetSchemaTableTopic.htm
      

  8.   

    谢谢ameng_2002(wader ) !!!