2012-10-04 63 views
0

我正在尋找一種以編程方式對列進行排序的方法。jqGrid:以編程方式設置可排序列

請記住裸露,我不是說要排序的網格,你通常會用sortGrid()或諸如此類的東西。我的意思是在網格被渲染後,以編程方式從左到右排列行順序。

所以,我知道有:

$("#myGrid").jqGrid({sortable: true}); 

我能夠通過拖動和以拖放到列進行排序。這個想法是允許用戶對列進行排序,並在數據庫中存儲回調命令,以便每個用戶可以根據需要安排自己的列。

我做與顯示和隱藏列類似的東西,但一直未能以編程方式重新排序的列沒有實際拖放它們。

任何幫助將不勝感激。

回答

1

您可以使用remapColumns方法以編程方式對列進行重新排序,而無需使用拖動操作拖動&。

the answer中,您會發現代碼顯示如何在localStorage中保存用戶指定的列順序。我個人比較喜歡在數據庫中保存服務器端相同信息的方式。不過,您可以在數據庫中執行相同的信息保存,而不是localStorage。爲此,您只需更改saveObjectInLocalStoragegetObjectFromLocalStorage函數的實現,幷包含ajax調用而不是用法window.localStorage

+0

感謝奧列格,以爲我錯過了這個方法,因爲它是非常那天深夜:PI想我寧願他們也存儲在服務器端的數據庫存儲在本地不會爲人們登錄到該網站搞得太清楚不同的電腦應用程序,不是? –

+0

@ francisco.preller:不客氣!保存信息的地方是品味的問題。可能的問題可能是在更改jqGrid的JavaScript代碼的情況下在保存狀態下所做的更改。兩種情況都存在同樣的問題。在使用'localStorage'的情況下,我使用'myColumnStateName = function(grid){return window.location.pathname +'#'+ grid [0] .id;}'(參見[demo]的代碼(http: //www.ok-soft-gmbh.com/jqGrid/ColumnChooserAndLocalStorage2_.htm))。要使用新版本,我只需要更改網格ID的頁面名稱。 – Oleg

相關問題