jqGrid - удалить проблему - PullRequest
       0

jqGrid - удалить проблему

2 голосов
/ 04 февраля 2012

У меня есть простой JqGrid

  $j("#gridTemp").jqGrid({
    jsonReader: {
        id: 'AppID' + 'Name',
        repeatitems: false
    },
    url: GetData,
    datatype: "json",
    colNames: ['Col1', 'Col2'],
    colModel: [
                { name: 'Col1'},
              { name: 'Col2'}
            ],
    rowNum: 10,
    autowidth: true,
    rowList: [10, 20, 30],
    pager: '#pager1',
    }).navGrid('#pager1', { edit: false, add: false, del: true, search: false }, {}, {}, { url: DeleteAddress });

}

и пытается получить событие нажатия кнопки удаления

$j('#del_gridTemp').click(function () { 
        alert($j('#gridTemp').jqGrid('getGridParam', 'selarrrow')); 
    });

почему-то не работает. Любая помощь ценится.

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012

Я не знаю, в чем заключается ошибка, но я надеюсь, что демо поможет вам.

Сначала вы используете параметр selarrrow, поэтому я предполагаю, что вы хотите иметь множественный выборсетка.Поэтому я добавил в код параметр multiselect: true.Ваш оригинальный код с $('#del_gridTemp').click(function () {...}); работает в моей демоверсии.Я изменил только текст предупреждений.Если вы, например, выберете строки, имеющие «test4», «test2», «test12», вы сначала увидите сообщение типа

enter image description here

после нажатия кнопки «ОК», а затем «Кнопка «Удалить» в диалоговом окне подтверждения, вы увидите следующее сообщение

enter image description here

из функции обратного вызова onclickSubmit , которую я рекомендую вам использовать.Чтобы код был похож на

$("#gridTemp").jqGrid('navGrid', '#pager', {refreshstate: 'current', add: false, edit: false, del: true},
    {},
    {},
    { url: '/DeleteAddress',
        onclickSubmit: function (options, postdata) {
            alert('in onclickSubmit: postdata=' + postdata);
            return { myData: 'Hello'};
        }});

Внутри метода onclickSubmit я дополнительно показываю, как добавить информацию, которая будет отправлена ​​с дополнительной информацией.

У меня нет кода сервера подURL / DeleteAddress, но в любых инструментах, таких как Fiddler of Firebug, вы сможете использовать формат данных, которые будут опубликованы.Это данные в формате x-www-form-urlencoded:

myData=Hello&oper=del&id=4%2C2%2C12

в расшифрованном виде:

myData=Hello
oper=del
id=4,2,12

Я думаю, это должно быть близко к тому, что вам нужно.

0 голосов
/ 04 февраля 2012

См. Методы jqGrid здесь .Вы можете удалить строки следующим образом:

$('#the_button').click(function () {
    //get selected Ids returns like: ["1", "2", "3"]
    var selectedIds = $('#gridTemp').jqGrid('getGridParam', 'selarrrow');

    //iterate over each id and delete the corresponding row
    $.each(selectedIds, function (index) {
        $('#gridTemp').jqGrid('delRowData', selectedIds[index]);
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...