2013-01-16 36 views
1

我目前正在處理一個呈現特定元素的屬性從SharePoint列表中獲取的Web部件。重新排列SharePoint列表項目的最佳方式是什麼?

我打算在SP列表中添加一個字段,該字段允許SharePoint用戶輸入一個數字以指定將在其中呈現元素的順序。

問題:實現此目的的最佳方式是什麼?(記住用戶可能輸入相同的值兩次或忽略數字而不知道它)?

例:我們有元素和它們的順序值:A 1B 2C 3D 4E 5

如果用戶更改訂單值:A 1B 4C 3D 4E 5,元件應在順序呈現:ACBDE

如果用戶更改訂單價值:A 1B 7C 3D 4E 5,這些元素應該是爲了渲染:ACDEB

+0

「elements」你的意思是列表項或列表字段(列)? –

+0

列表項。我已經找到了一個有人詢問重新排序列表字段的主題,但這不是我需要的。 –

+0

你如何找回物品?通過SPQuery? – banana

回答

1

我會建議你使用SPQuery,它也應該更有效率。

當您使用SPQuery時,您可以根據需要指定OrderBy

下面是使用它的一個示例:http://msdn.microsoft.com/en-us/library/ms457534(v=office.14).aspx

+0

我發現你的解決方案簡單而優雅。在這個問題上我還發現了一些更有用的知識:http://blog.qumsieh.ca/2008/11/06/how-to-write-an-spquery-to-sort-your-list它運作良好。謝謝!我想表決你的答案,但可悲的是我沒有足夠的聲譽... –

+0

我很高興幫助... – banana

0

如果您創建一個新的SPField來存儲列表項目順序,您必須意識到這些值不會爲每個用戶定製。它們被分配到列表項,並且對於所有用戶都是相同的。

我相信你應該看看Creating a Web Part with Custom Properties這個話題。您可以使用自定義序號映射項目ID,每個用戶都可以個性化。然後,您可以覆蓋默認順序,並藉助某些客戶端腳本,您可以重新排列項目。當然,使用分頁顯示項目時,情況會變得複雜。

但更實際的方式來處理您的要求將創建幾個字段(CustomOrder1CustomOrder1等),隨後,一些自定義視圖,基於這些字段排序。

+0

也許我的問題不是很清楚(對此我很抱歉),但在我的問題中,我想集中討論在沒有任何每個用戶設置的情況下實現訂購本身的想法。但是,無論如何感謝這個鏈接,它可能在未來幫助我。 –

1

有外的所述列表項框溶液在SharePoint重排序2010

HTTP(S):// yousiteurl/_layouts /重新排序.aspx?List = ListGUID

重新排列項目後,您可以使用CAML查詢使用item [「Order」]排序項目。

您可以在頁面上的模態對話框中調用此頁面,或者使用自定義操作將其集成到功能區中。

更多信息如何操作here

希望它能幫助,

安德魯

+0

有趣,很高興知道這件事。 – banana

+0

當然,很高興知道,但對於這個具體問題,香蕉解決方案更多的是我所尋找的。 –

相關問題