.net:创建DataTable,gridview以它为数据源,想隐藏一列或输出值都行,弄不出来。报错索引超出范围

来源:百度知道 编辑:UC知道 时间:2024/09/19 15:54:14
protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.DataSource =bind() ;
this.GridView1.DataBind();
}
public DataTable bind()
{
DataTable dt = new DataTable();
dt.Columns.Add("a", typeof(int));
dt.Columns.Add("b", typeof(int));
DataRow dr = dt.NewRow();
dr["a"] = 1;
dr["b"] = 1;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["a"] =2;
dr["b"] = 2;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["a"] = 3;
dr["b"] = 3;
dt.Rows.Add(dr);
return dt;

}
protected void Button1_Click(object sender, EventArgs e)
{
this.GridView1.Columns[0].Visible=false;//不能实现
//Response.Write(GridView1.Columns[

如果你这是 做一个gridview的实验的话.
你可以用DataSet做数据源的,那么
this.GridView1.Columns[0].Visible=false;//这句话就可以实现了
补充,用DataTable也可以实现,不过麻烦点
方法:
在this.GridView1.DataSource =bind() ;
this.GridView1.DataBind();
后面写
for(int i=0;i<GridView1.Rows.Count;i++)
{
TableCell tc=GridView1.Rows[i].Cells[0]; //定义第一列
tc.Visible=false; //隐藏所有行中的第一列数据
}