Add Remove Column Handler auf jqGrid ColumnChooser

Ich benutze diejqGrid columnChooser, wie so:

<code>    jQuery(grid).jqGrid(
        'navButtonAdd',
        pagerDiv,
        {
            caption: "Columns",
            buttonicon: "ui-icon-newwin",
            title: "Hide/Show Columns",
            onClickButton: function () {
                $(this).jqGrid('columnChooser', {
                    done: function (perm) {
                        if (perm) {
                            $(this).jqGrid('remapColumns', perm, true);
                        }
                    },
                    modal: true,
                    width: 400,
                    height: 300,
                    classname: 'column-chooser-select'
                });
            }
        }
    );
</code>

und habe mich gefragt, ob es eine Möglichkeit gibt, einen Ereignishandler im columnChooser anzugeben (mit derjQuery UI Multiselect Plug-in mit jqGrid), das jedes Mal ausgelöst wird, wenn eine Spalte hinzugefügt oder entfernt wird. Ich denke, es ist eine zweiteilige Frage:

unterstützt die jQuery UI Multiselect so etwas?Wenn ja, gibt es eine Möglichkeit, die Verbindung herzustellen, ohne die jqGrid-Quelle zu ändern?

Ein paar Hintergrundinformationen zu dem, was ich erreichen möchte:

Meine Standardgitterkonfiguration verbirgt viele Spalten. Einige dieser Spalten werden nicht aus der Datenbank gefüllt - es handelt sich um undurchsichtige, selten verwendete Datenelemente, deren Auffüllung die Leistung der Abfrageausführung erheblich beeinträchtigen würde (mehrere Verknüpfungen mit Tabellen mit über 100 Millionen Datensätzen).

Sollte ein Benutzer eine dieser Spalten zur Anzeige auswählen, möchte ich ihn warnen, dass ein erneuter Roundtrip zum Server erforderlich ist und dies eine Weile dauern kann - und ihm die Option geben, das Hinzufügen der Spalten abzubrechen.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage