如何在GridView中查找按钮 [英] how to find button inside gridview

查看:71
本文介绍了如何在GridView中查找按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的项目中有gridview,并且该gridview中有一个按钮.我想根据gridview单元格值更改该按钮的属性

i have gridview in my project and there is one button inside that gridview. i want to change that button's property according to gridview cell value

下面是带有按钮的网格视图

below is my gridview with button

<div class="row">
    <div class="col-md-12">
        <h1 style="color:red" id="payDetailH" runat="server" visible="false">Payment Details</h1>
        <br />
        <asp:Panel ID="Panel2" runat="server" ScrollBars="Auto">
        <asp:GridView ID="gvPayemenDetailNew" CssClass="table table-hover" GridLines="None" runat="server"  
             OnRowCommand="gvPayemenDetailNew_RowCommand" OnRowDataBound="gvPayemenDetailNew_RowDataBound" >
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Button ID="btnGenNew" runat="server" CommandName="GJobID" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" Text="Ceate Job" CssClass="btn" Enabled="False" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <HeaderStyle Height="50px" HorizontalAlign="Center" VerticalAlign="Middle" />
        </asp:GridView>
        </asp:Panel>
       </div>
</div>

这是我后面的代码

protected void gvPayemenDetailNew_RowDataBound(object sender, GridViewRowEventArgs e)
{
    foreach (GridViewRow row in gvPayemenDetailNew.Rows)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
            Button btn = e.Row.FindControl("btnGenNew") as Button;
            if (PayStatus == "Approved")
            {
                btn.Enabled = true;
            }
        }
    }            
}

我遇到了这个错误

System.NullReferenceException: Object reference not set to an instance of an object.

单击此处查看我的屏幕

推荐答案

您必须在循环中使用 [行] :

protected void gvPayemenDetailNew_RowDataBound(object sender, 
GridViewRowEventArgs e)
{
foreach (GridViewRow row in gvPayemenDetailNew.Rows)
{
    if (row.RowType == DataControlRowType.DataRow)
    {
        Button btn = row.FindControl("btnGenNew") as Button;
        if (PayStatus == "Approved")
        {
            btn.Enabled = true;
        }
    }
}            
}

这篇关于如何在GridView中查找按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆