Как добавить новую запись строки в 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.