看板 Visual_Basic 關於我們 聯絡資訊
請輸入專案類型(網站專案或者應用程式專案):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://www.ptt.cc/bbs/Visual_Basic/M.1435894878.A.328.html
MOONRAKER: 你應該可以用e.Row.FindControl(id)找到那個按鈕吧~ 07/03 12:06
because25: 謝謝 剛剛試了一下沒作用@@ 07/03 13:25
because25: 我的Button雖然寫在TemplateField中但是使用CommandFie 07/03 13:57
MOONRAKER: 沒作用是連錯誤訊息都沒有嗎 他找不到應該會報Null啊 07/03 15:56
MOONRAKER: 你如果需要用commandfield來操作gridview的預設新增 07/03 16:38
MOONRAKER: 編輯等等 可以參考這邊 http://goo.gl/yqWvnx 07/03 16:38
MOONRAKER: 在gridview的頭設定onrowdeleting onrowediting等等 07/03 16:40
MOONRAKER: 底下templatefield中再設定各個button的commandname 07/03 16:40
MOONRAKER: 應該就可以有一樣效果 commandfield記得是很難用 07/03 16:41
fumizuki: 設定成樣版(TemplateField)就可以自訂Button 07/03 16:47
fumizuki: 並且自訂每列的各個控制項的Visible屬性 07/03 16:48
fumizuki: Visible='<%# Eval("欄位") = Session("id") %>' 07/03 16:50
fumizuki: 如果是寫在後端程式中,必須要判斷e.Row.RowType 07/03 16:51
fumizuki: 及RowState ,比較麻煩 07/03 16:51
because25: 原本做法沒錯,重新偵錯就好了@@ 07/06 10:22
because25: RowDataBound事件裡e.Row.Cells(0).Enabled = "False" 07/06 10:23
because25: 如果是用 Visible 屬性,Gridview欄位會移位 07/06 10:24
fumizuki: Cell.Visible = False 不輸出至用戶端 所以會少一個格子 07/06 20:06
fumizuki: Button.Visible = False 只有按鈕不會輸入 格子還在 07/06 20:07
because25: 謝謝~指教 07/07 10:36
because25: 因為e.Row是呼叫不出Button,所以只能針對Cell 07/07 10:37
because25: 我做出來還有點誤打誤撞@@ 07/07 10:38
because25: 在TemplateField中建立Button、CommandName="Delete" 07/07 10:39
because25: 所以這個Button是屬於GRIDVIEW command的一種但卻不能 07/07 10:40
because25: 呼叫 07/07 10:40