作者TheThird (第三個…)
看板C_Sharp
標題Re: [問題] GridView 如何隱藏欄位???
時間Thu Feb 9 19:28:27 2012
我是用jQuery做的,不知道符不符合你的需求。
$(document).ready(function(){
//將第一行隱藏
$('#<%=GridView1.ClientID %> tr').find("th:eq(0),td:eq(0)").hide();
});
這樣可以將第一行給隱藏起來。
before->
http://i.minus.com/ibiMCfQuN3Rlob.PNG
after->
http://i.minus.com/ibfov8BU66e1dR.PNG
※ 引述《fbukevin (Veck)》之銘言:
: 我用 Linq 繫結了一個 GridView (所以沒有 <columns><asp:BoundField../></columns>)
: 然後我想把其中一個欄位隱藏起來(隱藏以後仍然可以讀取其欄位值)
: 我有上網查到這樣的做法:
: protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
: {
: e.Row.Cells[0].Visible = false;
: }
: 這樣子是可以隱藏第一個欄位
: 但是當我改成 e.Row.Cells[1].Visible = false;
: 直行以後就會發生 "超出索引值" 這樣的錯誤
: 可是明明就有其他欄位啊???
: 究竟要怎麼做呢?
--
http://www.youtube.com/watch?v=zqzVtROqPQI
お耳がぴょんぴょん♪ともちんこと板野友美です。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 223.138.165.229
※ 編輯: TheThird 來自: 223.138.165.229 (02/09 20:05)
推 qwer820404:其實可以直接用C#解決啦 02/09 22:51
推 qwer820404:你那問題我之前在寫也遇過 似乎是執行順序的問題 02/09 23:03
→ qwer820404:我忘記後來追蹤的結論 02/09 23:03
推 qwer820404:記得是用for 迴圈來跑 但是方法不是說很優啦 02/09 23:36
→ qwer820404:因為還要考慮換頁後的結果 我不是放在row系列的事件 02/09 23:36
C#寫法:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType ==
DataControlRowType.DataRow))
{
e.Row.Cells[0].Visible = false;
}
}
※ 編輯: TheThird 來自: 163.23.72.51 (02/10 14:02)
推 qwer820404:不過我記得 如果你有分頁機制 Template的control 02/10 23:14
→ qwer820404:會找不到的樣子 02/10 23:15