首页 新闻 会员 周边 捐助

Gridview 控件

0
悬赏园豆:5 [已解决问题] 解决于 2014-01-10 14:14
1   <asp:TemplateField HeaderText="操 作">
2                     <ItemTemplate>
3                         <asp:Button ID="btnDel" runat="server" CommandArgument=' <%#   Eval( "code ")   %> '
4                             CommandName="Del" OnClientClick="return confirm('确认要删除此行信息吗?')" Text=" 取消购物定单 " />&nbsp;
5                         <asp:Button ID="btnCommend" runat="server" CommandArgument=' <%#   Eval( "code ")   %> '
6                             CommandName="commend" Text="完成购物定单" />
7                     </ItemTemplate>
8                 </asp:TemplateField>

gridview 控件定义两个按钮

我想根据后台订单的状态来显示 按钮

如我订单状态为完成 删除按钮就不显示 

这要如何设置

yellowshorts的主页 yellowshorts | 初学一级 | 园豆:162
提问于:2013-04-01 17:28
< >
分享
最佳答案
0
protected void GrvAdanceInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {   //判断当前行是否是数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            { //用FindControl方法找到模板中的Label控件
                Label lab = (Label)e.Row.FindControl("LabPass");
                LinkButton LinkbtnUpdate = (LinkButton)e.Row.FindControl("LinkbtnUpdate");
                LinkButton LinkbtnDele = (LinkButton)e.Row.FindControl("LinkbtnDele");
                if (lab.Text == "未审批")
                {
                    LinkbtnUpdate.Enabled = true;
                    LinkbtnDele.Enabled = true;
                    LinkbtnUpdate.Attributes.Add("onclick","return confirm('是否确认修改?')");
                    LinkbtnDele.Attributes.Add("onclick", "return confirm('是否确认删除?')");
                }
                else
                {
                    LinkbtnUpdate.Attributes.Add("onclick", "lkbtnUpdate()");
                    LinkbtnDele.Attributes.Add("onclick", "lkbtnDele()");
                }
            }
        }

参考下这个例子

收获园豆:2
偶不是大叔 | 初学一级 |园豆:140 | 2013-04-06 10:26
其他回答(2)
0

你在后台的gridview给每一个行bind值时加一句判断的语句

1、判断当前值是多少,

2、找到gridview里面delete按钮,如果值已经处理过,此btn属性改为false.

搞定......

收获园豆:1
小笔头大做用 | 园豆:149 (初学一级) | 2013-04-01 17:32

能否给代码 是在GridView1_RowCommand里面吗

试试在最初绑定到gridview里面

支持(0) 反对(0) yellowshorts | 园豆:162 (初学一级) | 2013-04-01 17:34

怎么找到btn 控件用 FindControl("btnID")

支持(0) 反对(0) 小笔头大做用 | 园豆:149 (初学一级) | 2013-04-01 17:36

哥哥些,在GridView1_RowDataBound里面控制,很容易的

支持(0) 反对(0) 小笔头大做用 | 园豆:149 (初学一级) | 2013-04-01 17:40

@L生活: 

protected void GrvAdanceInfo_RowDataBound(object sender, GridViewRowEventArgs e)
        {   //判断当前行是否是数据行
            if (e.Row.RowType == DataControlRowType.DataRow)
            { //用FindControl方法找到模板中的Label控件
                Label lab = (Label)e.Row.FindControl("LabPass");
                LinkButton LinkbtnUpdate = (LinkButton)e.Row.FindControl("LinkbtnUpdate");
                LinkButton LinkbtnDele = (LinkButton)e.Row.FindControl("LinkbtnDele");
                if (lab.Text == "未审批")
                {
                    LinkbtnUpdate.Enabled = true;
                    LinkbtnDele.Enabled = true;
                    LinkbtnUpdate.Attributes.Add("onclick","return confirm('是否确认修改?')");
                    LinkbtnDele.Attributes.Add("onclick", "return confirm('是否确认删除?')");
                }
                else
                {
                    LinkbtnUpdate.Attributes.Add("onclick", "lkbtnUpdate()");
                    LinkbtnDele.Attributes.Add("onclick", "lkbtnDele()");
                }
            }
        }

有个例子,可以参考下

支持(0) 反对(0) 偶不是大叔 | 园豆:140 (初学一级) | 2013-04-06 10:24
0

后台判断订单状态,然后在前台接受状态 根据状态选择是否显示 不就得了        其实没太看明白你主要想问什么

收获园豆:2
动感超人z | 园豆:1 (初学一级) | 2013-04-01 17:35

想这种样子 来判断按钮是否显示 是否可以编辑 

支持(0) 反对(0) yellowshorts | 园豆:162 (初学一级) | 2013-04-01 17:40

@yellowshorts: 

Eval( "code ")
你这个里面的code 是绑定的数据吧,
<% if("点单状态的字段"=="完成"){  %>
//不显示取消
<% }else{%>
//显示取消
<%}%>

你试试  差不多应该是这样吧

支持(0) 反对(0) 动感超人z | 园豆:1 (初学一级) | 2013-04-01 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册