012qEdit
Save
및 Delete
버튼을 JqGrid 아래에 만들고 싶습니다.Jqgrid가 inlineNav 스타일로 새 행을 추가합니다.
<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>
위 코드를 사용하여 내 그리드 나에게 Add
Edit
Save
그리고 Delete
라는 버튼을 보여줍니다.
하지만 그 버튼을 클릭하면 아무런 문제가 발생하지 않습니다.
추가 또는 수정 버튼을 클릭하면 실행되는 이벤트를 만들고 싶습니다.
대부분의 예제는 modal form을 사용하여 새 행을 추가하는 방법입니다. 하지만 필자가 사용해야하는 것은 스타일을 추가하는 인라인 그리드 행입니다.
귀하의 제안에 감사드립니다.
http://www.trirand.com/blog/jqgrid/jqgrid.html 왼쪽 메뉴에서 행 편집 -> 사용자 정의 편집 –
제안 해 주신 @laroslav. Row editing (new) -> Inline Navigator (new)에서 찾았습니다. 그러나 "+"버튼을 클릭하면 실행해야하는 js 이벤트를 찾을 수 없습니다. –
에서 사용자 정의 편집 샘플을 볼 수 있습니다. 각 행에 첨부 된 버튼을 볼 수 있습니다. 코드보기 gridComplete 이벤트 –