将文本框添加到gridview页脚

时间:2014-07-09 13:57:42

标签: c# asp.net gridview

我有一个gridView,我希望添加一个文本框。我希望文本框位于页脚中,但我不知道该怎么做。

这是我的gridview:

<asp:GridView ID="gvTest" runat="server" AutoGenerateColumns="false"
                 AllowSorting="True"
                 ShowFooter="True"
                 ShowHeaderWhenEmpty="true"
                 OnRowDataBound="gvTest_RowDataBound"
                 Width="550px">                                         
    <EmptyDataTemplate>
        No data.
    </EmptyDataTemplate>
    <Columns>
        <asp:BoundField DataField="Name" headerText="Name"/>
        <asp:TemplateField>
            <HeaderTemplate>
                Actions
            </HeaderTemplate>
            <ItemTemplate>
                 <asp:ImageButton ID="imbView" runat="server" ToolTip="View details" ImageUrl="~/css/images/Search.png" Width="16" />
            </ItemTemplate>
        </asp:TemplateField>                     
    </Columns>
</asp:GridView>

我见过有人在谈论添加这样的东西:

<FooterTemplate>
    <asp:TextBox ID="tbName" runat="server"/>
</FooterTemplate>

但我不知道在哪里或如何添加它。如果我把它放在<asp:TemplateField>标签之间它会搞砸(可能是因为我的边界区域)。

其他信息:

我使用DataTable绑定gridview。真实表有更多列,但这足以作为一个例子。

2 个答案:

答案 0 :(得分:4)

切换自:

<asp:TemplateField>
        <HeaderTemplate>
            Actions
        </HeaderTemplate>
        <ItemTemplate>
             <asp:ImageButton ID="imbView" runat="server" ToolTip="View details" ImageUrl="~/css/images/Search.png" Width="16" />
        </ItemTemplate>
    </asp:TemplateField>               

为:

<asp:TemplateField>
        <HeaderTemplate>
            Actions
        </HeaderTemplate>
        <ItemTemplate>
             <asp:ImageButton ID="imbView" runat="server" ToolTip="View details" ImageUrl="~/css/images/Search.png" Width="16" />
        </ItemTemplate>
        <FooterTemplate>
            <asp:TextBox ID="tbName" runat="server"/>
        </FooterTemplate>
    </asp:TemplateField>               

如果您了解,可以轻松地将TemplateField分为三个部分:

  1. 标题
  2. 项目(或主要内容)
  3. 页脚
  4. 格尔茨

答案 1 :(得分:0)

您需要将它放在模板字段中..就像这样......

<asp:TemplateField HeaderText="BankName" SortExpression="BankName">
        <EditItemTemplate>
             <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("BankName") %>'></asp:TextBox>
         </EditItemTemplate>
         <ItemTemplate>
             <asp:Label ID="Label2" runat="server" Text='<%# Bind("BankName") %>'></asp:Label>
         </ItemTemplate>
         <FooterTemplate>
               <asp:TextBox ID="tbAddBankName" runat="server"></asp:TextBox>
         </FooterTemplate>
         <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>

这是我工作代码的一个例子。