以下是引用片段: protected void GVList_RowDataBound(object sender, GridViewRowEventArgs e) { //隱藏不必要的列 if ((e.Row.RowType == DataControlRowType.DataRow) || (e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.Footer)) { e.Row.Cells[0].Visible = false; e.Row.Cells[3].Visible = false; } } |
這是迄今爲止最簡潔的解決方法了。
解決方案
在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事件(隱藏)在綁定時候發生,所以這樣就即能將數據綁定到列上,又隱藏了該列.所以可以訪問到隱藏列的值。
下面介紹另外一個可以將數據綁定到GridView控件的方法:
以下是引用片段: 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() ; } |
文章主要講述了ASP.NET2.0中GridView控件的隱藏列的問題.