【发布时间】: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