I found that in jqGrid plugin for JQuery I can add rows dynamically, but can I do the same with columns? If there would be a simple table I'd prefer to do this manually by hands, but jqGrid stores table information in a lot of divs.
相关问题
- Is there a limit to how many levels you can nest i
- How to toggle on Order in ReactJS
- How to fix IE ClearType + jQuery opacity problem i
- void before promise syntax
- jQuery add and remove delay
It is not possible to add a column to the jqGrid dynamically. You have to recreate the whole grid with
colModel
having one column more. If you use separatecolNames
, then the size of the array have to be increased too. You can use GridDestroy for example to destroy the existing grid. The usage ofjQuery.Remove
orjQuery.Empty
instead is also possible.UPDATED: It seems to me that GridUnload is better for your porpose. I created small demo which demonstrate how one can recreate a grid. To be able to use GridUnload or GridDestroy you have to verify that you include grid.custom.js in your project (if you use developer version of the jqGrid) or you have checked "Custom" "Additinal methods" on the jqGrid download page.
UPDATED 2: One can use
addColumn
method which can be downloaded from here (seejQuery.jqGrid.addColumn.js
). The method is still in beta phase. One can find some demos which shows how to use the method here (seeaddColumnX.htm
examples).rownumbers: true, and rownumWidth:25(default)
You can simply set the new column model and reload the grid:
just use
it will unload grid totally and will be ready to load again with new columns and data.