【发布时间】:2011-07-06 19:44:57
【问题描述】:
我有一个现有的网格视图,我需要在工作中修复/改进它。基本上,GridView 有标题,它们被后面代码中的数据集绑定,它使用 BoundFields 和 TemplateFields。问题是我需要让每一列都可以排序。由于它不是标准的gridview,最好的方法是什么?,我需要制作标题链接,然后单击以按DESC或ASC顺序排序。这是我需要处理的 gridview 示例。
<asp:GridView ID="theGrid" runat="server" CssClass="Grid" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#FFFFFF" GridLines="None" OnPageIndexChanging="theGrid_PageIndexChanging" CaptionAlign="Left" OnRowCommand="theGrid_RowCommand" Width="100%" PageSize="25" AllowSorting="True" EmptyDataText="It's Empty.">
<Columns>
<asp:BoundField DataField="TestID" HeaderText="ID"/>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<a href='sometest.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "TestID").ToString()%>'><%# DataBinder.Eval(Container.DataItem, "Type").ToString()%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Address">
<ItemTemplate>
<div align="right"><%# (DataBinder.Eval(Container.DataItem, "HouseNumber"))%></div>
</ItemTemplate>
</asp:TemplateField>
...等等,对 BoundFields 和 TemplateFields 进行排序的最佳方法是什么?
【问题讨论】:
-
例如如何按 ID 排序?给定上面的例子并启用链接?,现在它只显示标题“不可点击”