Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何对下拉列表进行排序_C#_Asp.net_Sharepoint - Fatal编程技术网

C# 如何对下拉列表进行排序

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

我有以下填充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_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
不是一个选项。