11

At http://www.trirand.com/jqgridwiki/doku.php?id=wiki:jquery_ui_methods there are instructions for building a jqGrid column chooser ('dlog_opts is either an option object to be passed to “dlog”, or (more likely) a function that creates the options object. The default produces a suitable options object for ui.dialog'), but not complete working code; no example is provided of the function that is required.

Is there a complete working example for building a jqGrid column chooser that will allow hiding, showing, and moving columns?

1 Answer 1

19

Look at the old example from the answer. The example is mostly about another subject, but in the navigator bar you can see the "column chooser" button. Clicking on the button display column chooser dialog. You can drag any column name from the dialog and drop it on another location to change the column order. You can click on "-" to hide the column and drag any column from the list of hidden columns and drop it on in the list of visible columns.

To reproduce the behavior you should first be sure that during jqGrid downloading you have "jQuery UI addons" (grid.jqueryui.js) selected. Then you should follows the steps:

  1. include ui.multiselect.css from the plugins subdirectory of jqGrid 4.0 source.

  2. include jQuery UI jquery-ui.min.js (not only jquery-ui.css needed typically for jqGrid)

  3. include ui.multiselect.js after the jquery-ui.min.js

  4. add new button which call the column chooser

The code can be like the following

var grid = $('#list'); grid.jqGrid ('navButtonAdd', '#pager', { caption: "", buttonicon: "ui-icon-calculator", title: "Choose Columns", onClickButton: function() { grid.jqGrid('columnChooser'); } }); 

UPDATED: The answer contains description of some additional customization of columnChooser based on my suggestion.

Sign up to request clarification or add additional context in comments.

10 Comments

@FastTrack: You are welcome! It you "play" now with the columnCooser another my suggestion could be also interesting for you. The suggestion are not yet included in the main code of jqGrid.
@Oleg: WOW! That's great. I'm going to implement those changes in my grid installation. I'm assuming that will help with things such as this: link Notice how the 'Add All' link is pushed down a line, as opposed to your nice-looking example.
@FastTrack: Exactly! it's one from the first changes which I implemented in the suggestion. Originally the suggestion was started with the answer and then with this one.
@Oleg: I managed to get your changes working on my jQGrid installation. Looks great! One question though, how can I get the darker overlay to show up (just like it does when a modal popup appears) when the column chooser popup appears? Let me know if you would like me to create a separate question for this!
@FastTrack: OK, now I understand what you mean. The solution is very easy. You can use $(this).jqGrid('columnChooser', {modal: true});. Because the option modal is not documented now (see here) it would be probably better to post the question as the separate question and I will write you the answer. In the way we share the solution with other. I think, that the question can be interesting to other users.
|

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.