在GridView Asp.net中添加搜索文本框

时间:2014-02-09 22:33:10

标签: c# asp.net gridview

我的gridview中的第一行是空白行,这些空白行用于在gridview中搜索值。我在每列上添加一个空行但我不想在第一列添加任何空白行,这是我的数据的ID。我只想从第二列开始添加空白行。我怎样才能做到这一点? 这是我的代码背后:

protected void OnDataBound(object sender, EventArgs e)
{
    GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    for (int i = 0; i < GV_EditProject.Columns.Count; i++)
    {
        TableHeaderCell cell = new TableHeaderCell();
        TextBox txtSearch = new TextBox();
        txtSearch.Attributes["placeholder"] = GV_Test.Columns[i].HeaderText;
        txtSearch.CssClass = "search_textbox";
        cell.Controls.Add(txtSearch);
        row.Controls.Add(cell);
    }
    GV_Test.HeaderRow.Parent.Controls.AddAt(1, row);
}

这是我的aspx文件

<Columns>
    <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="5">
        <ItemStyle Width="5px" />
    </asp:BoundField>

1 个答案:

答案 0 :(得分:2)

我建议将TemplateField用于标题处带有搜索文本框的列。例如,我在下面的“评论”中添加了一个:

<Columns>
    <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="5">
        <ItemStyle Width="5px" />
    </asp:BoundField>

    <%-- This bound field is converted to Template Field --%>
    <%--<asp:BoundField DataField="COMMENTS" HeaderText="COMMENTS" ItemStyle-Width="5">
        <ItemStyle Width="5px" />
    </asp:BoundField>--%>

    <asp:TemplateField ItemStyle-Width="150px" HeaderText="COMMENTS">
        <ItemTemplate>
            <asp:Label ID="lblComm" runat="server" Text ='<%# Eval("COMMENTS")%>' ></asp:Label>
        </ItemTemplate>
        <HeaderTemplate>
            <asp:TextBox ID="txtSearchComment" runat="server" CssClass="search_textbox" Text=""></asp:TextBox>
        </HeaderTemplate>
    </asp:TemplateField>
相关问题