0
我是新來的使用JQGrid並尋找解決方案,我的問題沒有成功。在添加記錄期間的表單編輯中,我創建了一個名爲「保存並繼續」的額外按鈕。我的意圖是,這個按鈕將保存一個新的記錄到網格中,清除窗體上的字段,並在不關閉窗體的情況下開始插入新窗體。我正在嘗試使用addrowdata並重新加載網格,但並沒有取得任何成功。任何幫助都可以做,或者如果有更好的方法來做到這一點,我願意接受。JQGrid保存並繼續窗體編輯
$(document).ready(function() {
'use strict';
var mydata = [{
id: "1",
startdate: "2007-10-01",
name: "S008572",
total: "210.00"
}, {
id: "2",
startdate: "2007-10-02",
name: "O008975",
total: "320.00"
}, {
id: "3",
startdate: "2007-09-01",
name: "S990653",
total: "430.00"
}],
$grid = $("#list"),
initDateEdit = function (elem) {
$(elem).datepicker({
dateFormat: 'dd-M-yy',
autoSize: true,
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true
});
},
numberTemplate = {
formatter: 'number',
align: 'right',
sorttype: 'number',
editrules: {
number: true,
required: true
},
searchoptions: {
sopt: ['eq', 'ne', 'lt', 'le', 'gt', 'ge', 'nu', 'nn', 'in', 'ni']
}
};
$grid.jqGrid({
datatype: 'local',
data: mydata,
colNames: ['Client', 'Date', 'Total'],
colModel: [{
name: 'name',
index: 'name',
align: 'center',
editable: true,
width: 65,
editrules: {
required: true
}
}, {
name: 'startdate',
index: 'startdate',
width: 80,
align: 'center',
sorttype: 'date',
formatter: 'date',
formatoptions: {newformat: 'd-M-Y'},
editable: true,
datefmt: 'd-M-Y',
editoptions: {
dataInit: initDateEdit
}
}, {
name: 'total',
index: 'total',
width: 60,
template: numberTemplate
}],
rowNum: 10,
rowList: [5, 10, 20],
pager: '#pager',
gridview: true,
rownumbers: true,
autoencode: true,
ignoreCase: true,
sortname: 'startdate',
viewrecords: true,
sortorder: 'desc',
shrinkToFit: false,
height: '100%',
caption: 'Demonstrate how to implement searching on Enter'
});
$.extend($.jgrid.edit, {
bSubmit: "Save and Close",
bCancel: "Cancel",
width: 370,
recreateForm: true,
beforeShowForm: function() {
$('<a href="#">Save and Continue<span class="ui-icon ui-icon-disk"></span></a>')
.click(function() {
alert("click!");
var id = $.Guid.New();
var newRowData= [{"id":id,"startdate": @startdate,"total":@total}];
$("#list").addRowData(id,newRowData);
$("#list").trigger("reloadGrid");
}).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
.prependTo("#Act_Buttons>td.EditButton");
}
});
$grid.jqGrid('navGrid', '#pager');
});
謝謝奧列格,對不起,我幾個星期都沒有提交,表格編輯適合我的要求更好。我會盡力並希望能夠實現我的目標。 – Bino 2013-03-10 15:45:29
@Bino:不客氣! – Oleg 2013-03-10 17:23:09
我改編了你的答案,但是我有兩個需要注意的問題,一個是我設置了addsettings closeafterAdd:false並且添加了clearAfterAdd:true和beforeSubmit:CheckValues進行驗證兩個選項都沒有觸發。你有什麼想法我做錯了什麼。感謝您對這位新手的耐心等待。 :-) – Bino 2013-03-21 15:22:13