2011-04-20 81 views
1

我使用GridView,並在頁眉單元格中有一個用於過濾的下拉列表。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屬性一起使用,則按預期工作。有沒有辦法把它們放在一起?我需要這個下拉菜單並進行排序。

謝謝。

+0

我沒有看到這個失敗的任何明顯的原因。當你說崩潰時,你是否看到一些特定的錯誤。可能是那個錯誤幫助我們得到答案?這裏也有類似的例子,http://www.eggheadcafe.com/tutorials/aspnet/c67c4daa-83c2-4baa-aea4-2c8855527acb/aspnet-gridview-filterin.aspx – 2011-04-20 14:05:06

+0

不,沒有具體的錯誤,但鉻說網頁沒有迴應殺死或等待...如果我點擊等待,它會再次出現(等待幾分鐘後),然後繼續。 – Savas 2011-04-20 14:20:51

+0

@Subhash:我和你提供的鏈接完全一樣(sql數據源除外)。 – Savas 2011-04-20 14:56:47

回答

-1

您需要爲標題文本使用鏈接按鈕。因此,取代「SP名稱」,請使用。它應該工作,如果你正在處理排序。

2

對不起,忘了正確插入代碼 - 在這裏:

<asp:LinkButton runat="server" Text="SP Name" CommandName="Sort" CommandArgument="SPName" ></asp:LinkButton> 
+0

請調整你以前的答案,不要追加新的 – 2013-12-10 08:03:09