我正在写C#
我有两个列表框。
列表框1已填充,我对此没有任何问题。
然后我有一个foreach循环遍历列表框1中的每个项目,并根据linq查询填充列表框2。
foreach (var item in listBox2.Items)
{
var date =
(from z in task.tblContractProcessRequests
where z.RequestID == Int32.Parse(item.ToString()) && z.RequestTypeID == 1
select z).Single();
listBox3.Items.Add( date.RequestID + " - " + date.RequestTime);
}
所以现在我的列表框2看起来像这样
12345 - 01/12/2010
65432 - 03/12/2009
92354 - 12/31/2013
我如何将第二个列表框托架日期降序排列为这样?
92354 - 12/31/2013
12345 - 01/12/2010
65432 - 03/12/2009
答案 0 :(得分:1)
首先获取一个有序的日期列表,然后填充listBox3:
var dates = listBox2.Items.Cast<object>().Select( item =>
(from z in task.tblContractProcessRequests
where z.RequestID == Int32.Parse(item.ToString()) && z.RequestTypeID == 1
select z).Single() ).OrderByDescending(d => d.RequestTime);
foreach (var date in dates)
{
listBox3.Items.Add( date.RequestID + " - " + date.RequestTime);
}