程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0中GridView控件的隱藏列的問題

ASP.NET 2.0中GridView控件的隱藏列的問題

編輯:關於ASP.NET

Asp.net 2.0 GridView隱藏列visible="false" 後你就無法取得這列的值了, 而用datagrid就沒有這個問題, MS這個混蛋老是改變游戲規則, 幸好我聰明, 在百度上搜到了別人的解決方法, 然後加入了自己的方法, 才解決問題:

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控件的隱藏列的問題.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved