作者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/cn.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