Как добавить новую запись строки в jqGrid?

Я использую jqGrid. Я хочу добавить запись встроенной навигации, так что эта ссылка http://www.trirand.com/blog/jqgrid/jqgrid.html? когда я нажимаю в ДОБАВИТЬ новый значок строки в навигационной панели. Сетка похожа на модальный вид.

<div id="pager"></div>
<table id="ward"></table>
<br />
<script src="js/rowedex3.js" type="text/javascript"> </script>
<script type="text/javascript">
jQuery("#ward").jqGrid({
    mtype : 'GET',
    url : "listAllWards.html",
    datatype : "json",
    colNames : [ 'Id', 'Ward Type', 'Description'],
    colModel : [ {
        name : 'id',
        index : 'id',
        editable:true,
        width : 50
    }, {
        name : 'name',
        index : 'name',
        width : 150,
        editable:true,
    }, {
        name : 'decsription',
        index : 'decsription',
        width : 100,
        editable:true,
    }],
    rowNum : 5,
    rowList : [ 5, 10, 30 ],
    pager : '#pager',
    sortname : 'id',
    viewrecords : true,
    sortorder : "desc",
    caption : "Ward's List",
    width : 940,
    cellEdit : true,
    editurl: "server.html",
});
jQuery("#ward").jqGrid('navGrid', '#pager', {
    edit : false,
    del : false,
    search :false,
});
</script>

1 ответ

Решение

Если вы хотите использовать встроенное редактирование для добавления строки, вы должны использовать add: false вариант navGrid (вместе с edit: false который вы уже используете) и вам следует включить вызов inlineNav после вызова navGrid, Вы можете выбрать кнопки, добавленные inlineNav путем использования соответствующих опций inlineNav описано в документации.

ОБНОВЛЕНО: Вы должны удалить cellEdit : true опция из jqGrid, потому что использование как редактирования ячеек, так и встроенного редактирования не поддерживается.

Кроме того, вы должны переименовать id столбец с любым другим именем, если вам нужно редактировать сетку. См. Вторую часть ответа для получения дополнительной информации.

Я рекомендую вам разместить весь код JavaScript внутри $(function(){...}); и переместить его внутрь <head>,

Вы должны убедиться, что вы используете текущую (сейчас 4.4.1) версию jqGrid.

Другие вопросы по тегам