C# 如何对下拉列表进行排序
我有以下填充DropDownList的代码:C# 如何对下拉列表进行排序,c#,asp.net,sharepoint,C#,Asp.net,Sharepoint,我有以下填充DropDownList的代码: DataSet ds = new DataSet(); SPSite mySite = SPContext.Current.Site; SPWeb myWeb = mySite.OpenWeb(); SPList list = myWeb.Lists["GuidelineTopics"]; DTable_List = list.Items.GetDataTable(); DTable_List.TableName = "Table1"; DTable
DataSet ds = new DataSet();
SPSite mySite = SPContext.Current.Site;
SPWeb myWeb = mySite.OpenWeb();
SPList list = myWeb.Lists["GuidelineTopics"];
DTable_List = list.Items.GetDataTable();
DTable_List.TableName = "Table1";
DTable_List.DefaultView.Sort = "Title ASC";
ds.Tables.Add(DTable_List);
Topic.DataSource = ds.Tables["Table1"];
Topic.DataSource = DTable_List;
Topic.DataTextField = "Title";
Topic.DataValueField = "Title";
Topic.DataBind();
Topic.Items.Insert(0, new ListItem("All Topics", "All Topics"));
Topic.SelectedIndex = 0;
如何对列表应用排序,使其按字母顺序为ASC或DESC?请尝试以下方法。你可以使用Linq来获得你想要的 如果要按列值的升序对数据源进行排序,请执行以下操作
Topic.DataSource = ds.Tables["Table1"].OrderBy(x => x.Title);
或者,如果要按降序对特定列名进行排序,请执行以下操作
Topic.DataSource = ds.Tables["Table1"].OrderByDescending(x => x.Title);
你指的是哪个名单?查看Linq
主题
是我的下拉列表谢谢。x
和x.ColumnName
是预定义的?这是您的fieldname
(标题)或数据源中要排序的任何其他列。也许我会用实际的字段名编辑我的答案。记住使用System.Linq添加代码>到您的代码隐藏以利用linq功能。谢谢。我会测试它的oit和提供一个更新!我使用System.Linq添加了
但是,OrderBy
或OrderByDescending
不是一个选项。