【问题标题】:Sorting a dropdown list in C#在 C# 中对下拉列表进行排序
【发布时间】:2014-01-23 15:47:13
【问题描述】:

我从某人那里获得了此代码,需要按字母顺序组织列表。我试图在Select 的末尾添加一个ORDER BY,但它实际上使整个列表为空。然后,我尝试在检索列表后添加其他代码对其进行排序,但仍然没有。有什么想法吗?

提前致谢!

public void FillDropdowns()
{
    SPWeb web = site.RootWeb;
    string queryText = "SELECT  JobTitle1,Department,PracticeArea,Offices from Scope()  WHERE \"SCOPE\" = 'People'  AND DisplayInDirectory = 'Include'";//,SecondaryOfficeLocationFROM  Scope()  WHERE \"SCOPE\" = 'People' " + finalquery + " AND DisplayInDirectory = 'Include' ";//,SecondaryOfficeLocation
    FullTextSqlQuery query1 = new FullTextSqlQuery(site);
    query1.QueryText = queryText;
    query1.ResultTypes = ResultType.RelevantResults;
    query1.RowLimit = 1000;
    ResultTableCollection resultTables = query1.Execute();
    DataTable dt = new DataTable();
    if (resultTables.Count > 0)
    {
        ResultTable relevantResults = resultTables[ResultType.RelevantResults];
        dt.Load(relevantResults, LoadOption.OverwriteChanges);
    }

    int j = dt.Rows.Count;
    DataView dv = new DataView(dt);
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    ddldept.DataSource = dv.ToTable(true, "Department");
    ddldept.DataTextField = "Department";
    ddldept.DataValueField = "Department";
    ddldept.Items.Insert(0, new ListItem("select department", "select department"));
    ddldept.DataBind();

    ddlpractice.DataSource = dv.ToTable(true, "PracticeArea");
    ddlpractice.DataTextField = "PracticeArea";
    ddlpractice.DataValueField = "PracticeArea";
    ddlpractice.Items.Insert(0, new ListItem("select practiceArea", "select practiceArea"));
    ddlpractice.DataBind();

    ddltitle.DataSource = dv.ToTable(true, "JobTitle1");
    ddltitle.DataTextField = "JobTitle1";
    ddltitle.DataValueField = "JobTitle1";
    ddltitle.Items.Insert(0, new ListItem("select title", "select title"));
    ddltitle.DataBind();

    ddlOffice.DataSource = dv.ToTable(true, "Offices");
    ddlOffice.DataTextField = "Offices";
    ddlOffice.DataValueField = "Offices";
    ddlOffice.Items.Insert(0, new ListItem("select offices", "select offices"));
    ddlOffice.DataBind();

}

编辑:这是我添加ORDER BY的地方:

string queryText = "SELECT  JobTitle1,Department,PracticeArea,Offices from Scope()  WHERE     \"SCOPE\" = 'People'  AND DisplayInDirectory = 'Include' ORDER BY Department ASC";

【问题讨论】:

  • 将 order by 应用于您的查询,而不是您的代码。
  • 这是我尝试的第一件事。我在查询末尾添加了 ORDER BY,但它使整个列表消失了。
  • 你能显示你添加 ORDER BY 的确切位置吗?
  • 抱歉给您带来了困惑,我编辑了我的帖子,并在其中放置了 ORDER BY

标签: c# sql list drop-down-menu


【解决方案1】:

这里有几个选项:

  1. 在您的 SQL 语句中添加 order by

  2. 对数据视图进行排序

例子:

DataTable table = dataSet.Tables["TableName"];
DataView view = table.DefaultView;
view.Sort = "Criteria";

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2010-10-14
    • 1970-01-01
    • 2017-05-02
    • 2017-04-09
    • 2012-08-31
    相关资源
    最近更新 更多