绑定时直接设置 某列隐藏,会出错
下面有两种方法,不仅可以隐藏,还仍然可以正常取值
方法一: 在RowCreated事件中书写如下代码
void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[0].Visible = false; //如果想使第1列不可见,则将它的可见性设为false } //可以根据需要设置更多的列 }
因为在RowCreated事件(隐藏)在绑定时候发生,所以这样就即能将数据绑定到列上,又隐藏了该列.所 以可以访问到隐藏列的值
方法二: Public void myTestFunction() { string conString="....";//省略 string sqlquery="...";//省略 SqlConnection con = new SqlConnection(conString); SqlDataAdapter da = new SqlDataAdapter(sqlquery, con); DataSet ds = new DataSet(); da.Fill(ds); ds.Tables[0].Columns[0].ColumnMapping = MappingType.Hidden; GridView1.DataSouce = ds.Tables[0]; GridView1.DataBind() ; }