文章类型: .NET
关键词: .NET,C#,GridView,RowCommand,获取控件,LinkButton
内容摘要: 主要描述在.NET中对gridview的RowCommand事件中获取控件,用来在绑定数据时来设置控件的一些属性特征

在.NET中对gridview的RowCommand事件中获取控件

2015/7/14 16:38:52    来源:apple    阅读:

在gridview的RowCommand事件中获取控件:

<asp:GridView ID="tab1_gridview1" runat="server" AutoGenerateColumns="false" OnRowDataBound="tab1_gridview1_RowDataBound" OnRowCommand="tab1_gridview1_RowCommand">
<Columns>
<asp:BoundField HeaderText="订单号" DataField="OrId"/>
<asp:BoundField HeaderText="产品名称" DataField="GoodName"/>
<asp:BoundField HeaderText="单价" DataField="GoodPrice"/>
<asp:BoundField HeaderText="数量" DataField="OrdNum"/>
<asp:BoundField HeaderText="快递费" DataField="Postage"/>
<asp:TemplateField HeaderText="商品总价(含快递)">
<ItemTemplate>
<asp:Label ID="lblMoney" runat="server" Text='<%# Convert.ToInt32(Eval("GoodPrice"))*Convert.ToInt32(Eval("OrdNum"))+Convert.ToInt32(Eval("Postage")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="交易状态">
<ItemTemplate>
<%--<center> <%# Eval("PayState")%></center>
<br />--%>
<asp:LinkButton ID="linkbtnState" runat="server" Text="取消订单" style="text-decoration:none;font-weight:bold;" CommandArgument='<%# Eval("PayState") %>' CommandName="linkbtnStateT"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<%--<asp:BoundField HeaderText="交易状态" DataField="PayState"/>--%>
</Columns>
</asp:GridView>

 

 

后台代码:
protected void tab1_gridview1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string r = e.CommandArgument.ToString();
        GridViewRow gvrow = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
        // 获取到行索引 RowIndex
        int index = gvrow.RowIndex;
        string Orid =tab1_gridview1.Rows[index].Cells[0].Text.ToString();   //此处是order编号
 
        if (e.CommandName=="linkbtnStateT")
        {
            //string sql = "update from goodorder set PayState = 1 where OrId='"+Orid+"'";
            OKBBSForumBLL.GoodOrder bll = new OKBBSForumBLL.GoodOrder();
            OKBBSForumModel.GoodOrder model = new OKBBSForumModel.GoodOrder();
            model.PayState = 1;
            model.OrId = Orid;
            bool b = bll.Update(model);
            LinkButton l = ((LinkButton)e.CommandSource) as LinkButton;      //找到linkbutton控件。
            l.Enabled = false;                           //使其为flase,不能再次点击。
            if (b==true)
            {
                l.Text="--------"
            }
        }
    }
 
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//获取控件值(得转换成相应的控件类型)
LinkButton lBtn = e.Row.Cells[9].FindControl("lkBtnCancel") as LinkButton;
if (lBtn != null)
{
if (lBtn.Text.Trim().Equals("已取消"))
{
lBtn.Style.Add(HtmlTextWriterStyle.Color, "Red");
lBtn.OnClientClick = "alert('订单已经取消了,不能进行恢复!');";
lBtn.Enabled = false;   //使其为flase,不能再次点击。
}
}
}
}

 

↑ 上一篇文章:JS和C#中的字符串编码解码(二) 关键词:JS,C#,字符串,编码,解码,UrlEncode,Ur.. 发布日期:2015/7/14 16:35:35
↓ 下一篇文章:在河南,有一种经典 关键词:河南,河南话,经典 发布日期:2015/7/14 16:42:52
相关文章:
ASP.NET中的分页剖析(五) 关键词:C#,ASPX,ASP,.NET中,分页,自定义 发布日期:2015-07-29 12:24
ASP.NET中的分页剖析(一) 关键词:C#,ASPX,ASP,.NET中,分页 发布日期:2015-07-29 12:19
ASP.NET中的分页剖析(四) 关键词:C#,ASPX,ASP,.NET中,分页,自定义 发布日期:2015-07-29 12:23
相关目录:.NET
我要评论
正在加载评论信息......