开发者

how to get values from textbox which is in gridview Footer c#?

like in title + how to handle button click which button is in GridView Footer also?

file .aspx seems like this

<asp:GridView ID="GridView1" runat="server"
     AutoGenerateColumns="False" 
        CellPadding="4" DataKeyNames="id" EnableModelValidation="True" 
        ForeColor="#333333" GridLines="None" 
        onrowcancelingedit="GridView1_RowCancelingEdit1" 
        onrowediting="GridView1_RowEditing1" 
        onrowupdating="GridView1_RowUpdating1" AllowPaging="True" 
        onrowdeleting="GridView1_RowDeleting" 
        onpageindexchanging="GridView1_PageIndexChanging" Height="322px" 
        ShowFooter="True" onselectedindexchanged="GridView1_SelectedIndexChanged" >
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        <Columns>
            <asp:CommandField ShowEditButton="True" />
            <asp:BoundField DataField="id" HeaderText="ID" Visible="False" />
            <asp:BoundField DataField="Name" HeaderText="Name" />
            <asp:TemplateField>
                <FooterTemplate>
                    <asp:TextBox ID="txtName" runat="server" />
                </FooterTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="LastName" HeaderText="LastName" />
            <asp:TemplateField>
                <FooterTemplate>
                    <asp:TextBox ID="txtLastName" runat="server" />
                </FooterTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="DriveLic" HeaderText="DriveLicense" />
            <asp:TemplateField>
                <FooterTemplate>
                    <asp:TextBox ID="txtDriveLicense" runat=开发者_如何转开发"server" />
                </FooterTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="country" HeaderText="Country" />
            <asp:TemplateField>
                <FooterTemplate>
                    <asp:TextBox ID="txtWoj" runat="server" />
                </FooterTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowDeleteButton="True" />
            <asp:TemplateField>
                <FooterTemplate>
                    <asp:Button ID="ButtonOK" Text="Confirm" runat="server" />
                </FooterTemplate>
            </asp:TemplateField>
        </Columns>


Inside your GridView_RowCommand Event you can access the footer control by GridView1.FooterRow.FindControl method.

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName.Equals("Insert", StringComparison.OrdinalIgnoreCase))
    {
        TextBox txtSomeNewValue = ((TextBox)GridView1.FooterRow.FindControl("txtSomeNewValue"));
        string theTextValue = txtSomeNewValue.Text;
    }
}

Update: wrapped the code in an if block that checks if the commandname is what you were expecting. This event is also used for delete, edit, etc, so you might end up running the code for an event you didnt intend if you dont wrap it in this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜