2017-02-28 4 views
0

私は、これらの値を含むデータテーブルがあります。enter image description hereC#DataTableのカスタムの並べ替え、1つのフィールドまず、その後、残り

現在、私はこの方法をソートしています:

customTable.DefaultView.Sort = "Module asc"; 

は私がすることイントロを移動したいです含まれている最初のモジュールであり、次に1から他のモジュールへの番号で始まり、どのようにすればいいですか?事前に

おかげで、DataTableの上の式フィールドを使用してLaziale

+0

はあなたを行いますデータテーブルの構造を自由に制御できますか?そうであれば、イントロを探すIF()の式フィールドを追加し、見つかった場合は0を使用し、それ以外の場合はモジュール番号を使用します。次に、その列で並べ替えます。 – Forty3

+0

私は構造を完全に制御できますが、何を提案しますか、コードサンプルを教えてください。 Thx – Laziale

+0

[データビューソートの可能な重複 - 単なるasc/desc(カスタムソートが必要)以上](http://stackoverflow.com/questions/582374/dataview-sort-more-than-just-asc-desc-need -custom-sort) – wdosanjos

答えて

0

は、あなたがたDataTable自体の中での並べ替えを含めることができます(あなたが他の消費者に沿って、それを渡すべきである):

dt.Columns.Add("xxSort", 
       (123).GetType(), 
       "IIF([Module] = 'Intro', 0, Convert([Module], 'System.Int32'))"); 
dt.DefaultView.Sort = "xxSort ASC"; 
関連する問題