我使用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屬性一起使用,則按預期工作。有沒有辦法把它們放在一起?我需要這個下拉菜單並進行排序。
謝謝。
我沒有看到這個失敗的任何明顯的原因。當你說崩潰時,你是否看到一些特定的錯誤。可能是那個錯誤幫助我們得到答案?這裏也有類似的例子,http://www.eggheadcafe.com/tutorials/aspnet/c67c4daa-83c2-4baa-aea4-2c8855527acb/aspnet-gridview-filterin.aspx – 2011-04-20 14:05:06
不,沒有具體的錯誤,但鉻說網頁沒有迴應殺死或等待...如果我點擊等待,它會再次出現(等待幾分鐘後),然後繼續。 – Savas 2011-04-20 14:20:51
@Subhash:我和你提供的鏈接完全一樣(sql數據源除外)。 – Savas 2011-04-20 14:56:47