【发布时间】:2012-03-22 18:44:18
【问题描述】:
我想在我的 JqGrid 下方创建 Add Edit Save 和 Delete 按钮。
<script type="text/javascript">
jQuery(document).ready(function () {
var lastSel = 0;
jQuery("#list").jqGrid({
url: '/SpeakerJqgrid/GridData/',
editurl: "/SpeakerJqgrid/MyEdit/",
datatype: 'json',
mtype: 'GET',
colNames: ['SpeakerID', 'SpeakerName'],
colModel: [
{ name: 'SpeakerID', index: 'SpeakerID', width: 40, align: 'left', editable: true, edittype: "text", editoptions: { size: "35", maxlength: "50"} },
{ name: 'SpeakerName', index: 'SpeakerName', width: 200, align: 'left', editable: true, edittype: "text", editoptions: { size: "35", maxlength: "50"} }
],
onSelectRow: function (id) {
if (id && id !== lastSel) {
jQuery('#list').restoreRow(lastSel);
lastSel = id;
}
jQuery('#list').editRow(id, true);
},
loadComplete: function () {
//alert("Load Complete");
},
addRowData: function (rowid, rdata, pos, src) {
alert("addRowData");
if (pos === 'afterSelected' || pos === 'beforeSelected') {
if (typeof src === 'undefined' && this[0].p.selrow !== null) {
src = this[0].p.selrow;
pos = (pos === "afterSelected") ? 'after' : 'before';
} else {
pos = (pos === "afterSelected") ? 'last' : 'first';
}
}
return oldAddRowData.call(this, rowid, rdata, pos, src);
},
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'SpeakerName',
sortorder: "desc",
viewrecords: true,
autowidth: true,
autoheight: true,
imgpath: '/scripts/themes/black-tie/images',
caption: 'My first grid'
})
$("#list").jqGrid('navGrid', '#pager', {edit:false,add:false,del:false,refresh:false,search:false});
$("#list").jqGrid('inlineNav', '#pager', {
edittext: "Edit",
addtext: "Add",
savetext: "Save",
canceltext: "Cancel",
addParams: { position: "afterSelected" }
});
});
</script>
通过使用上面的代码,My Grid 向我显示名为 Add Edit Save 和 Delete 的按钮。
但是当我点击这些按钮时,什么问题都没有发生。
我的意思是我想创建当我点击添加或编辑按钮时会触发的事件。
我发现的大多数示例都是关于使用 modal form 添加新行的。但是我必须使用的是内联网格行添加样式。
您的建议将不胜感激。
【问题讨论】:
-
trirand.com/blog/jqgrid/jqgrid.html 行编辑 -> 左侧菜单中的自定义编辑
-
感谢@laroslav 的建议。我在 Row Editing (new)--> Inline Navigator (new) 找到了。但是当我单击“+”按钮时,我仍然没有找到必须触发的 js 事件。
-
在自定义编辑示例中,您可能会看到这些按钮附加到每一行,代码参见 gridComplete 事件
-
对不起,在句首没有看到'below'这个词。
标签: c# jquery asp.net-mvc jqgrid