2016-07-19 9 views
1
indexlist = saveList 
    .Where(i => (Convert.ToDateTime(i.event_startdate) < DateTime.Today) 
      && (Convert.ToDateTime(i.event_endDate) < DateTime.Today)) 
    .ToList(); 
Event_list.ItemsSource = indexlist.OrderBy(i => i.event_startdate); 

上記のようなコードを書いて、この形式(2015年9月11日)の日付を含むリストを並べ替えるには、その方法で並べ替える必要があります。リストの先頭に最新の日付の日付が表示されます。 上記のステートメントを変更する方法C#リストを日付(2015年9月11日 - >日付フォーマット)で降順でソートする?

私はOrderByDescending(i=>i.event_startdate);を使用しようとしましたが、使用しませんでした。

+0

ので、あなたはそれはあなたがそれを注文する前に – BugFinder

+0

なぜあなたはリストを作成しないことを並べ替える必要があり、真日付フィールドにそれを変換した場合どのように動作しませんでしたか? –

+0

あなたは日付を日付に変更するのではなく、1月1日、2月1日、9月1日、2月1日を取得します。 – BugFinder

答えて

1

あなたはその後、物事は簡単だろう、それによってソートするために、DateTimeオブジェクトに日付を解析する必要があります。

var results = (from item in saveList 
       let dtStart = Convert.ToDateTime(item.event_startdate) 
       let dtEnd = Convert.ToDateTime(item.event_endDate) 
       where dtStart.Date < DateTime.Today && dtEnd.Date < DateTime.Today 
       orderby dtStart descending 
       select item).ToList(); 

Event_list.ItemsSource = results; 
+0

Iamは次のようにリストを取得する24 Mar 2016,18 Nov 2015,11 Sep 2015,14 Aug 2015,22 Jul 2015,16 Apr 2015,14 Nov 2014,23 2014,18 August 2014,3 Mar 2014,6 March 2015 、7Mar 2015,2、2015年5月20日、2015年9月2015年。このリストは半分にソートされています。最上部には最新の日付、下部には最も古い日付にします。 – userhi

+0

@MohanRajeshこのコードはまさにそれを行います。 – user3185569

+0

しかし、私のリストは、2014年の中間日に表示され、2015年の最後に日付が表示されているようです。私が投稿した日付を確認したら、2016年3月24日に始まり、2015年4月16日まで、2014年11月14日、2014年8月3日、2014年3月20日、そして2015年3月6日2015年3月など。 – userhi

2

あなたは、変換DateTimeによってアイテムをフィルタリングしているが、あなたはstringでそれを注文しています/ objectが間違っています。あなたはanoymousタイプでDateTimeを格納することができます:

indexlist = saveList 
    .Select(i => new { 
     event = i, 
     event_startdate = Convert.ToDateTime(i.event_startdate), 
     event_endDate = Convert.ToDateTime(i.event_endDate), 
    }) 
    .Where(x => x.event_startdate < DateTime.Today && x.event_endDate < DateTime.Today) 
    .OrderByDescending(x => x.event_startdate) 
    .Select(x => x.event) 
    .ToList(); 
Event_list.ItemsSource = indexlist; 
+0

「OrderByDescending」ではありませんか? –

+0

@TajkiaRahmanToma:確かに:) –

関連する問題