在gridview标题内添加Drop

时间:2014-09-10 08:21:59

标签: asp.net

我是ASP.net的新手,并尝试在Gridview控件的标题字段下添加下拉列表和搜索文本框。

<asp:GridView ID="EmpGridView" runat="server" AutoGenerateColumns="false"
        DataKeyNames="EMPLOYEEID" 
        AllowSorting="True" AllowPaging="true" PageSize="50"
        OnPageIndexChanging="EmpGridView_PageIndexChanging" style="margin-right: 52px" OnSelectedIndexChanged="EmpGridView_SelectedIndexChanged"   

    > 
        <Columns>
            <asp:BoundField DataField="EMPLOYEEID"
            HeaderText="Employee ID" ReadOnly="true"
            SortExpression="EMPLOYEEID" />



            <asp:BoundField DataField="PERSONNAME"
            HeaderText="Person Name" ReadOnly="true"
            SortExpression="PERSONNAME" />

            <asp:BoundField DataField="DIVISIONNAME"
            HeaderText="Division Name" ReadOnly="true"
            SortExpression="DIVISIONNAME" />


                    <asp:BoundField DataField="DESIGNATION" 
                            HeaderText="Designation" ReadOnly="true" 
                            SortExpression="DESIGNATION"     
                         />

            <asp:BoundField DataField="CNIC"
            HeaderText="CNIC" ReadOnly="true"
            SortExpression="CNIC" />

        </Columns>


    </asp:GridView>

我想要关注

EMPLOYEEID            PERSONNAME              DIVISIONNAME          <----HeaderText

TextBox control       TextBox Control         DropDownlist control  <------aspcontrols
 ..data                ..data                   ..data              <------ rest is db
 ..data                ..data                   ..data

含义我的asp.net控件也需要我的标签 我该怎么办?

到目前为止,我尝试过以下但无法找到放置它的位置?因为如果我单独添加它,那么每个控件都有我不想要的行,而且boundfield标签不允许它。

              <asp:TemplateField>
                  <ItemTemplate>
                      <asp:TextBox ID="searchBox" runat="server" />
                  </ItemTemplate>
              </asp:TemplateField>

1 个答案:

答案 0 :(得分:1)

您需要使用TemplateField的HeaderTemplate将控件放在标题

<asp:TemplateField SortExpression="PERSONNAME">
    <HeaderTemplate>
        <asp:Literal runat="server">Person Name</asp:Literal>
        <asp:TextBox runat="server" ID="searchBox"></asp:TextBox>
    </HeaderTemplate>
    <ItemTemplate>
        <asp:Literal runat="server" Text='<%# Bind("PERSONNAME") %>'></asp:Literal>
    </ItemTemplate>
</asp:TemplateField>