Ячейка jqGrid, редактирующая локально - PullRequest
2 голосов
/ 22 декабря 2010

Я пытаюсь реализовать jqGrid с редактируемыми ячейками:

var myGrid = $("#mygrid").jqGrid({
            datatype: 'local',
            data: mydata,
            colModel: [
                    { name: 'Serial', width: 1040, editable: true, edittype: 'text' }
                ],
            rowNum: 10,
            rowList: [10, 20, 30],
            pager: '#mypager',
            sortname: 'Serial',
            cellEdit: true,
            viewrecords: true,
            sortorder: "desc",
            onSelectRow: function(id){
                if(id && id!==lastSel){
                    jQuery('#mygrid').restoreRow(lastSel); 
                    lastSel=id; 
                }
                jQuery('#mygrid').editRow(id, true); 
           }
        });
        myGrid.jqGrid('navGrid', '#mypager', { edit: true, add: false, del: false, search: true });

Однако каждый раз, когда я пытаюсь редактировать ячейку, она позволяет мне писать на ней, но как только я нажимаю на другую строкуили даже вне сетки, текст исчезает.

Еще одна вещь, каждый раз, когда я нажимаю «ввод», он пытается что-то отправить, потому что он показывает мне следующее сообщение: «URL не задан».

И, конечно, я хочу использовать эту сетку только локально.После редактирования сетки пользователь должен будет нажать кнопку «Отправить», которая включена в .html, а затем я буду управлять данными, вставленными в сетку.

Thx.

1 Ответ

8 голосов
/ 23 декабря 2010

Чтобы использовать для редактирования ячейки локально (вы используете cellEdit:true), вы должны использовать cellubmit: 'clientArray' свойство.

С другой стороны вы также используете функцию editRow , поэтому вы хотите использовать Inline Editing . Чтобы иметь возможность локально использовать Inline Editing , необходимо определить editurl:'clientArray' (см. Документацию здесь ).

Более того, вы также используете myGrid.jqGrid('navGrid', '#mypager', { edit: true, ...}), который включает Редактирование форм , который не имеет полной поддержки локального редактирования.

Я рекомендую вам использовать Встроенное редактирование и включить editurl:'clientArray' в параметры вашей jqGrid. Редактирование ячеек (cellEdit: true) и Редактирование форм должны быть удалены.

...