问题描述
publicvoidCreateDT(){DataTabletblDatas=newDataTable();tblDatas.Columns.Add("姓名");tblDatas.Columns.Add("科目");tblDatas.Columns.Add("分数");tblDatas.Rows.Add(newobject[]{"张三","数学","90"});tblDatas.Rows.Add(newobject[]{"李四","语文","87"});tblDatas.Rows.Add(newobject[]{"王五","语文","81"});GridView1.DataSource=tblDatas;GridView1.DataBind();DataTabledtNew=newDataTable();dtNew.Columns.Add("1");dtNew.Columns.Add("2");dtNew.Columns.Add("3");dtNew.Columns.Add("4");foreach(DataColumndcintblDatas.Columns){DataRowdrNew=dtNew.NewRow();drNew["1"]=dc.ColumnName;for(inti=0;i<tblDatas.Rows.Count;i++){drNew[i]=tblDatas.Rows[i][dc].ToString();}dtNew.Rows.Add(drNew);}GridView2.DataSource=dtNew;GridView2.DataBind();}
publicvoidCreateDT(){DataTabletblDatas=newDataTable();tblDatas.Columns.Add("姓名");tblDatas.Columns.Add("科目");tblDatas.Columns.Add("分数");tblDatas.Rows.Add(newobject[]{"张三","数学","90"});tblDatas.Rows.Add(newobject[]{"李四","语文","87"});tblDatas.Rows.Add(newobject[]{"王五","语文","81"});GridView1.DataSource=tblDatas;GridView1.DataBind();DataTabledtNew=newDataTable();//dtNew.Columns.Add("1");//dtNew.Columns.Add("2");//dtNew.Columns.Add("3");//dtNew.Columns.Add("4");foreach(DataColumndcintblDatas.Columns){DataRowdrNew=dtNew.NewRow();//drNew["1"]=dc.ColumnName;for(inti=0;i<tblDatas.Rows.Count;i++){drNew[i]=tblDatas.Rows[i][dc].ToString();}dtNew.Rows.Add(drNew);}GridView2.DataSource=dtNew;GridView2.DataBind();}
//dtNew.Columns.Add("1");//dtNew.Columns.Add("2");//dtNew.Columns.Add("3");//dtNew.Columns.Add("4");这个我删掉之后就会提示找不到列名如何想办法去掉.
解决方案
解决方案二:
publicclassTable{publicstring姓名{setget}.....}list<Table>list=newlist.add(newtable)我只想表达还是用实体类吧~datatable什么的最讨厌了
解决方案三:
DataTable dtNew。。你这个表定义了,但你不给它添加列,等于这就是没有表结构的空表,当然会提示没有列了。。。
解决方案四:
表示可以考虑隐藏GridView2控件的header部分