非Alpha类型的ASP.NET DataGrid

时间:2014-09-05 16:47:23

标签: c# asp.net sorting datagrid

我需要执行自定义类型的.NET DataGrid。 UserRole列通过存储过程从SQL返回一组三个字符串值:No Access,View和Update。

<asp:DataGrid ID="UserList" runat="server" AllowPaging="True" AutoGenerateColumns="False" AllowSorting="True" OnDataBinding="UserList_DataBinding">
    <Columns>
        <asp:BoundColumn DataField="FirstName" HeaderText="First Name"></asp:BoundColumn>
        <asp:BoundColumn DataField="LastName" HeaderText="Last Name" SortExpression="LastName ASC, LastName"></asp:BoundColumn>
        <asp:BoundColumn DataField="EmailAddress" HeaderText="Email Address"></asp:BoundColumn>
        <asp:BoundColumn DataField="UserRole" HeaderText="User Role" SortExpression="UserRole DESC, UserRole"></asp:BoundColumn>
    </Columns>
</asp:DataGrid>

我需要能够排序显示&#34;更新&#34;表格顶部的UserRole列中的值。因为它当前通过SortExpression属性按降序排序,&#34;查看&#34;来之前&#34;更新&#34;。

如果上面的代码是遗留代码,我无法完全重写代码,但还有另一种方法可以实现这种自定义非alpha排序吗?

1 个答案:

答案 0 :(得分:0)

您应该在将数据绑定到网格之前对其进行排序。根据您访问底层数据的方式,您可以使用某种OrderBy子句并订购DESC。如果你只想让“更新”成为第一,那就更难了。