Jqgrid в диалоговом окне не отображается при втором вызове - PullRequest
0 голосов
/ 18 мая 2010

У меня есть этот скрипт ниже, который вызовет мое окно просмотра;

var $dialog = $('<div></div>')
    .load('scripts/browsecharges.jsp')
    .dialog({
        width: 800,
        height: 500,
        modal: false,
        title: 'Browse Charges',
        buttons: {
            Ok: function() {
                $(this).dialog('destroy');
            }
        },
        close: function(event, ui) {
            $(this).dialog('destroy').remove();
        }
    });
    $dialog.dialog('open');

Это окно просмотра содержит jqgrid. Сначала мой jqgrid работает нормально, я вижу данные. Но при втором вызове этого окна просмотра мой jqgrid больше не будет отображаться. Что я должен сделать, чтобы открыть его столько раз, сколько захочу?

Ответы [ 2 ]

1 голос
/ 24 мая 2010

Возможно, вам нужно вызвать GridUnload перед созданием сетки, чтобы убедиться, что все элементы из предыдущей сетки очищены.

0 голосов
/ 19 октября 2012

У меня была эта проблема, когда страница загружалась через вызов .ajax. Страница содержала диалоги с сетками. При первом вызове все работало замечательно, при втором вызове (загрузил другую страницу и затем перезагрузил страницу) я получил бы пустой jqGrid, хотя событие msg.d явно было настроено правильно. Ответ был, когда я покинул страницу (загрузил другую страницу через .ajx), чтобы уничтожить и удалить сетку ($(this).dialog('destroy').remove()).

...