作者because25 (口苗)
看板Visual_Basic
標題[.NET] GridView 的 Button 顯示隱藏
時間Fri Jul 3 11:41:15 2015
請輸入專案類型(網站專案或者應用程式專案):ASP.NET (VB) VS2010
大家好,想請教
我欲在GridView中的Button(刪除功能)
能針對登入時的id和GridView每一列的id做比對
然後每列前的Button控制項的Visible屬性作修改(預設False)
我Button是寫在TemplateField中
然後在事件RowDataBound裡設條件
If Trim(e.Row.Cells(1).Text) = Trim(Session("id")) Then
e.Row.Cells(0).Visible = False
End If
可是這樣是錯誤的,想請問哪裡想法有問題嗎? 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.75.113.166
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1435894878.A.328.html
1F:→ MOONRAKER: 你應該可以用e.Row.FindControl(id)找到那個按鈕吧~ 07/03 12:06
2F:→ because25: 謝謝 剛剛試了一下沒作用@@ 07/03 13:25
3F:→ because25: 我的Button雖然寫在TemplateField中但是使用CommandFie 07/03 13:57
4F:→ MOONRAKER: 沒作用是連錯誤訊息都沒有嗎 他找不到應該會報Null啊 07/03 15:56
5F:→ MOONRAKER: 你如果需要用commandfield來操作gridview的預設新增 07/03 16:38
7F:→ MOONRAKER: 在gridview的頭設定onrowdeleting onrowediting等等 07/03 16:40
8F:→ MOONRAKER: 底下templatefield中再設定各個button的commandname 07/03 16:40
9F:→ MOONRAKER: 應該就可以有一樣效果 commandfield記得是很難用 07/03 16:41
10F:推 fumizuki: 設定成樣版(TemplateField)就可以自訂Button 07/03 16:47
11F:→ fumizuki: 並且自訂每列的各個控制項的Visible屬性 07/03 16:48
12F:→ fumizuki: Visible='<%# Eval("欄位") = Session("id") %>' 07/03 16:50
13F:→ fumizuki: 如果是寫在後端程式中,必須要判斷e.Row.RowType 07/03 16:51
14F:→ fumizuki: 及RowState ,比較麻煩 07/03 16:51
15F:→ because25: 原本做法沒錯,重新偵錯就好了@@ 07/06 10:22
16F:→ because25: RowDataBound事件裡e.Row.Cells(0).Enabled = "False" 07/06 10:23
17F:→ because25: 如果是用 Visible 屬性,Gridview欄位會移位 07/06 10:24
18F:推 fumizuki: Cell.Visible = False 不輸出至用戶端 所以會少一個格子 07/06 20:06
19F:推 fumizuki: Button.Visible = False 只有按鈕不會輸入 格子還在 07/06 20:07
20F:→ because25: 謝謝~指教 07/07 10:36
21F:→ because25: 因為e.Row是呼叫不出Button,所以只能針對Cell 07/07 10:37
22F:→ because25: 我做出來還有點誤打誤撞@@ 07/07 10:38
23F:→ because25: 在TemplateField中建立Button、CommandName="Delete" 07/07 10:39
24F:→ because25: 所以這個Button是屬於GRIDVIEW command的一種但卻不能 07/07 10:40
25F:→ because25: 呼叫 07/07 10:40