我正在使用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排序 - 但是我还没有找到这是否可行,以及如何?
答案 0 :(得分:0)
您必须使用网格中的数据结果的字段名称。如果结果中包含该字段,请使用它。
答案 1 :(得分:0)
如果您需要支持分页(并且您没有将整个结果集存储在会话或视图状态或其他内容中),您将无法翻阅按顺序名排序的结果。
只要结果集很小(并且存储它),就可以创建一个包含OrderID和OrderName的新对象,用orderid和ordername填充它,然后绑定到它。
最好的办法是尽可能让您的订单来自您的数据源。