排序gridviews和sortexpression

时间:2009-05-08 21:03:08

标签: gridview sorting

我正在使用gridview并且必须设置一个排序表达式,我正在使用:

<asp:TemplateField HeaderText="Order Name" SortExpression="OrderId">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# OrderName(((DataLayer.Car)Container.DataItem).OrderId) %>' />
                </ItemTemplate>
                <ItemStyle Width="120px" />
            </asp:TemplateField>

但我宁愿按照从OrderId获得的名称而不是实际的OrderId排序 - 但是我还没有找到这是否可行,以及如何?

2 个答案:

答案 0 :(得分:0)

您必须使用网格中的数据结果的字段名称。如果结果中包含该字段,请使用它。

答案 1 :(得分:0)

如果您需要支持分页(并且您没有将整个结果集存储在会话或视图状态或其他内容中),您将无法翻阅按顺序名排序的结果。

只要结果集很小(并且存储它),就可以创建一个包含OrderID和OrderName的新对象,用orderid和ordername填充它,然后绑定到它。

最好的办法是尽可能让您的订单来自您的数据源。