对由ObjectDataSource填充的DropdownLIst进行排序

本文关键字:排序 DropdownLIst ObjectDataSource 填充 对由 | 更新日期: 2023-09-27 18:27:45

我正在从ObjectDataSource填充DropdownLIst。ObjectDataSource从服务获取它的值。该服务提供未排序的结果。在数据绑定到下拉列表之前,有没有办法按DataTextField对进行排序?我觉得应该有一种方法在客户端中实现这一点,但我不知道如何实现。请提出建议?(.net 4.5)

        <asp:DropDownList ID="AffiliationDropDownList" runat="server"
            ClientIDMode="Static" Width="200px" 
            DataSourceID="AffiliationObjectDataSource" 
            DataTextField="AffiliateName" 
            DataValueField="AffiliateID" 
            AppendDataBoundItems="true" 
            AutoPostBack="false" >
            <asp:ListItem Text="All Affiliations" Value="" />
        </asp:DropDownList>
        <asp:ObjectDataSource runat="server" ID="AffiliationObjectDataSource" 
            SelectMethod="RetrieveActiveAffiliations" 
            TypeName="OnlineVolunteerApplication.Data.VolunteerService.VolunteerServiceClient" >
        </asp:ObjectDataSource>

对由ObjectDataSource填充的DropdownLIst进行排序

您可以在选择方法RetrieveActiveAffiliations中这样做。你可以在这里看到详细信息

DataView dv = new DataView(yourtable);
dv.Sort = "id asc"; //your sort expression

您可以尝试这样做:-

DataView defaultView = dataSource.Tables[0].DefaultView;
DataTable dt = getData();
dt.DefaultView.Sort= "UserName DESC";