クエリで複数の order by を使用したいのですが、LINQ を使用しています。しかし、なぜこれらがうまくいかないのかわかりません。どこかで間違っていると確信しています。以下は私の状況です。LINQ を使用して作成されたプロジェクトを取得しました。列の順序を設定するタスクはほとんどありません。実際に私の仕事は何ですか 列が作成された日付があり、現在その順序が付けられています。ここで、Createddate と並べ替え用の sortOrder 列を使用したいと思います。以下は、そのために使用されるコードです:ページ読み込みメソッドのコード
ViewState["SortDirection"] = "desc";
ViewState["SortColumn"] = "createddate";
BindAllTopics(ViewState["SortDirection"].ToString(), ViewState["SortColumn"].ToString());
そして、私のBindAllTopicメソッドは次のとおりです。
protected void BindAllTopics(string SortType, string SortColumn)
{
var LstTopics = (from topic in Dbobj.T_topic select topic).ToList();
if (LstTopics.Count() > 0)
{
if (SortType == "ASC")
{
LstTopics = LstTopics.OrderBy(q => q.Name).ToList();
}
else
{
LstTopics = LstTopics.OrderByDescending(q => q.Name).ThenBy(q => q.SortOrder).ToList();
}
GrdTopics.DataSource = LstTopics.ToList();
GrdTopics.PageSize = 25;
GrdTopics.DataBind();
}
else
{
GrdTopics.DataSource = null;
GrdTopics.DataBind();
lblMsg.DisplayMessage(StatusMessages.InfoMessage, "No Topics Found.");
}
}
最初に int 型の sortorder で並べ替え、次に Createddate で並べ替えたいと思います。
私を助けてください..