1

我正在使用 GridView,标题单元格中有一个用于过滤的下拉列表。

<gm:GridView ID="routePlanGridView" runat="server" AutoGenerateColumns="False"
    AllowPaging="true" PageSize="20" GridLines="Both" ShowFooter="true" CssClass="grid"
    DataKeyNames="RoutePlanId" OnSorting="routePlanGridView_Sorting"
    AllowSorting="true" OnPageIndexChanging="routePlanGridView_PageIndexChanging"
    OnSelectedIndexChanging="routePlanGridView_SelectedIndexChanging"
    OnRowDataBound="routePlanGridView_RowDataBound"
    OnRowEditing="routePlanGridView_RowEditing"
    OnRowUpdating="routePlanGridView_RowUpdating">
    <HeaderStyle CssClass="gridHeaderFooter" />
    <FooterStyle CssClass="gridHeaderFooter" />
    <RowStyle CssClass="gridRow" />
    <AlternatingRowStyle CssClass="gridRowAlternate" />
    <Columns>
        <asp:TemplateField SortExpression="SPName">
            <HeaderTemplate>
                SP Name<br />
                <asp:DropDownList ID="spNameFilterDDL" runat="server" CssClass="gridControl" AutoPostBack="true" DataSourceID="SPNameSDS" DataTextField="SPName" OnDataBound="filterDDL_DataBound" OnSelectedIndexChanged="spNameFilterDDL_SelectedIndexChanged" />
            </HeaderTemplate>
            <ItemTemplate>
                <asp:Label ID="spNameLabel" runat="server" Text='<%# Bind("SPName") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <...15 more...>
    </Columns>
</gm:GridView>

并且有用于排序和分页的相关事件处理程序。
现在的问题是,如果我将“SP 名称”文本放在链接按钮中,单击链接时页面会崩溃,否则不会生成要排序的链接。如果我删除 Header Template 字段(全部)并放置一个带有 TemplateField HeaderText 属性的文本,它会按预期工作。有没有办法把它们放在一起?我需要那个下拉列表和排序。

谢谢。

4

2 回答 2

2

抱歉,忘记正确插入代码 - 这里:

<asp:LinkButton runat="server" Text="SP Name" CommandName="Sort" CommandArgument="SPName" ></asp:LinkButton> 
于 2013-12-10T07:41:44.487 回答
-1

您需要为标题文本使用链接按钮。因此,代替“SP 名称”,使用 . 如果您正在处理排序,它应该可以工作。

于 2013-12-10T07:36:27.060 回答