2015-10-28 36 views
1

我的頁面中有一個使用jqgrid構建的數據網格。在這裏,我想禁用一個名爲「顯示/隱藏列」的選項到我的網格。有什麼辦法,以便我可以通過添加一個屬性並將其值傳遞給它來禁用/啓用它(即在這種情況下是true/false)。這將是一個很大的幫助,如果有人看着這個和幫助。禁用或啓用在jqgrid中顯示/隱藏列

謝謝, Santosh。

+0

請包括相關的代碼,如html和js – guradio

+1

得到了解決方案,感謝您的幫助。 @Pekka – santoshM

+0

您應該更改所使用的**標記**。如果您使用** DataGrid **而不是** jqGrid **,那麼您應該使用相應的標籤。 – Oleg

回答

0

就我而言,我在jqgrid庫頂部有一個叫做DataGrid.js的Wrapper js。其中包含所有功能。我有一個名爲「addChooseColumnsButton」的函數,它將我網格上的圖標添加到顯示/隱藏列。你可以看到下面的功能。

DataGrid.prototype.addChooseColumnsButton = function() { 

if (this.options.choose) { 
    var me = this; 
    this.grid.navButtonAdd(this.options.pager, { 
     id: 'choose_cols_nav_btn', 
     caption: '', 
     buttonicon: 'ui-icon-calculator', 
     title: 'Show/Hide columns', 
     position: 'last', 
     onClickButton: function() { 
      me.chooseColumnsAction(); 
     } 
    }); 
} 

};

要在我的網格上禁用相同的功能,我已將如下的網格標記寫入屬性「choose」爲false。

這種 「選擇」 摘自 「如果(this.options.choose)」 從我的功能。它解決了我的問題。

注意:爲避免從我們的庫中調用函數,我們可以採用「選項」名稱並將其設置爲「false」。在這種情況下,我選擇了「this.options.choose」,並且爲了避免調用這個函數而做了false。

+1

你使用什麼產品? jqGrid中不存在'chooseColumnsAction'和'DataGrid'方法。如果所有的對象和方法都是*你的自定義方法和對象*那麼你可以問其他讀者有哪些值有這樣的代碼? – Oleg

+0

是啊奧列格,這些都是自定義的方法和js文件在jqgrid庫頂部。只是想通知,通過使用上述方法可以避免調用jqgrid庫中的函數。 @Oleg – santoshM