我有一個表格,它們的SortOrder顯示的項目。 SortOrders不會很好地增加,值從1-100跳到任何地方。我想要做的是觸發器SortOrder值最接近的兩個項目在一起,而不必知道他們是如何靠近在一起的。例如:LINQ將排序順序更新爲最接近的可能值
ItemX.SortOrder = 5;
ItemY.SortOrder = 26;
假定沒有項目的排序順序在5-26之間。
我的代碼需要此開關:
ItemX.SortOrder = 26;
ItemY.SortOrder = 5;
出於某種原因,我的代碼轉換SortOrders隨機物品,使得:
ItemX.SortOrder = 5;
ItemY.SortOrder = 26;
ItemZ.SortOrder = 34;
變爲:
ItemX.SortOrder = 34;
ItemY.SortOrder = 26;
ItemZ.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
好的。我會發布其餘的。 –
你爲什麼想要做這個,出於好奇?你的目標是什麼? –