看板 C_Sharp 關於我們 聯絡資訊
我是用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