我有一個需求,我需要在我的gridview的列進行排序。但問題是,我需要在gridview列的下方放置一行,這些列會有升序和降序排列的圖像。點擊這些圖像時,應該對所選列進行排序。基於gridview雙頭的列排序
請指導我!
讓我知道如果您有任何疑問/疑惑
謝謝!
我有一個需求,我需要在我的gridview的列進行排序。但問題是,我需要在gridview列的下方放置一行,這些列會有升序和降序排列的圖像。點擊這些圖像時,應該對所選列進行排序。基於gridview雙頭的列排序
請指導我!
讓我知道如果您有任何疑問/疑惑
謝謝!
我的決定:
<asp:GridView runat="server" ID="GridViewTest" DataSourceID="CustomersSource" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Panel runat="server" BorderWidth="1">
<asp:Label runat="server" Text='column {CustomerID}'></asp:Label>
</asp:Panel>
<asp:Panel runat="server">
<asp:ImageButton runat="server" AlternateText="asc" CommandName="CustomerID" CommandArgument="<%# CommandArgumentAsc %>" OnClick="ImageButton_Click" />
<asp:ImageButton runat="server" AlternateText="desc" CommandName="CustomerID" CommandArgument="<%# CommandArgumentDesc %>" OnClick="ImageButton_Click" />
</asp:Panel>
</HeaderTemplate>
<ItemTemplate>
<%# Eval("CustomerID")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:Panel runat="server" BorderWidth="1">
<asp:Label runat="server" Text='column {CompanyName}'></asp:Label>
</asp:Panel>
<asp:Panel runat="server">
<asp:ImageButton runat="server" AlternateText="asc" CommandName="CompanyName" CommandArgument="<%# CommandArgumentAsc %>" OnClick="ImageButton_Click" />
<asp:ImageButton runat="server" AlternateText="desc" CommandName="CompanyName" CommandArgument="<%# CommandArgumentDesc %>" OnClick="ImageButton_Click" />
</asp:Panel>
</HeaderTemplate>
<ItemTemplate>
<%# Eval("CompanyName")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:sqldatasource id="CustomersSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
後面的代碼:
protected const string CommandArgumentAsc = "asc";
protected const string CommandArgumentDesc = "desc";
protected void ImageButton_Click(object sender, ImageClickEventArgs e)
{
var imageButton = sender as ImageButton;
if (imageButton != null)
{
if (imageButton.CommandArgument == CommandArgumentAsc)
{
GridViewTest.Sort(imageButton.CommandName, SortDirection.Ascending);
}
if (imageButton.CommandArgument == CommandArgumentDesc)
{
GridViewTest.Sort(imageButton.CommandName, SortDirection.Descending);
}
}
}
任何意見??? –