SortOrderで表示される項目を持つ表があります。 SortOrdersは1〜100の範囲でスキップする値で、非常にうまくインクリメントされません。私がやりたいことは、一緒に接近している2つのアイテムのSortOrder値をフリップフロップして、必ずしもを知ることなく、が一緒に閉じることです。例:LINQ並べ替え順序を最も近い値に更新する
ItemX.SortOrder = 5;
ItemY.SortOrder = 26;
ソート順が5-26の項目はありません。
ItemX.SortOrder = 5;
ItemY.SortOrder = 26;
ItemZ.SortOrder = 34;
は、次のようになります:
ItemX.SortOrder = 34;
ItemY.SortOrder = 26;
ItemZ.SortOrder = 5;
私のコードは、ランダムアイテムは、そのようなことでSortOrdersスイッチングされ、いくつかの理由
ItemX.SortOrder = 26;
ItemY.SortOrder = 5;
:
私のコードは、これを切り替える必要があります
私はそれが私の質問の結果は私がそれらを描いている方法で順序付けされていないためだと思う。ここに私の照会コードです。何かが必要な場合は、私に知らせてください。
itemToSwitch = DataSource.Items.Where(item => item.SortOrder > currentItem.SortOrder).First();
int? next = itemToSwitch.SortOrder;
int? previous = currentItem.SortOrder;
currentItem.SortOrder = next;
itemToSwitch.SortOrder = previous;
申し訳ありませんが、私の質問は読んだり、混乱したりします。私は可能な限り明確にしようとしています。
に役立つかもしれません。これは単なるクエリスニペットです。しかし、フリップフロップはゼロになります。 – sehe
大丈夫です。私は残りを掲示します。 –
なぜあなたは好奇心のためにこれをやろうとしていますか?あなたの目標は何ですか? –