0
我使用Lib.Web.MVC
帮助器,所以我的初始jqGrid JS是由该对象生成的。在调用@ grid.GetJavaScript之后,我发出一个单独的调用来修改editData
集合,如下所示。这是我正在使用的有效JS。 AreaId
和AreaItemId
的值不会被提交给控制器操作。jqGrid:其他编辑参数没有发布到服务器
$(document).ready(function() {
$('#GetAreaItemDetails').jqGrid({
colNames: ['Code', 'Name', 'Description', 'Has Addl Comments'],
colModel: [
{ editable: true, editoptions: { "maxlength": 16 }, editrules: { required: true },
name: 'AreaItemDetailCode'
},
{ editable: true, editoptions: { "maxlength": 32 }, editrules: { required: true },
name: 'AreaItemDetailName'
},
{ editable: true, editoptions: { "maxlength": 128 }, editrules: { required: true },
name: 'AreaItemDetailDescription'
},
{ editable: true, edittype: 'checkbox', editrules: { required: true },
name: 'HasAdditionalComments'
}],
caption: 'Area Item Details',
url: '/Admin/GetAreaItemDetails',
datatype: 'json',
footerrow: true,
jsonReader: { repeatitems: false, id: 'Id', subgrid: { repeatitems: false} },
mtype: 'POST',
pager: '#GetAreaItemDetailsPager',
prmNames: { npage: 'npage' },
rowList: [10, 20, 30, 40, 50],
rowNum: 10,
sortname: 'AreaItemDetailId',
viewrecords: true,
height: '100%'
}).jqGrid('navGrid', '#GetAreaItemDetailsPager',
{ search: false },
{ height: 175, url: '/Admin/UpdateAreaItemDetail', width: 400, recreateForm: true,
closeAfterEdit: true
},
{ height: 175, url: '/Admin/InsertAreaItemDetail', width: 400, recreateForm: true,
closeAfterAdd: true
});
$("#GetAreaItemDetails").jqGrid('navGrid', '#GetAreaItemDetailsPager',
{/*navGrid options*/},
{
editData: {
AreaItemId: function() {
return $('#ddlAreaItems').val();
},
AreaId: function() {
return $('#ddlAreas').val();
}
}
},
{
editData: {
AreaItemId: function() {
return $('#ddlAreaItems').val();
},
AreaId: function() {
return $('#ddlAreas').val();
}
}
});
});
对不起,关于代码格式。我不知道如何正确地做到这一点,我不得不在工作中使用IE8。 :) Lib.Web.Mvc助手用于为网格生成原始JS,并且ExtraData参数不能使用。有什么办法可以发出后续调用来更新导航属性吗? –
@ LSU.Net:您可以使用'.extend($。jgrid.edit,{...}'方法至少设置'editData'。我不知道'Lib.Web.Mvc',但是我 – Oleg
@ LSU.Net:顺便说一下[这里](http://meta.stackexchange.com/a/22189/147495)描述了如何格式化代码。一般来说,如果你只是选择完整的代码片段,然后按下编辑窗口上方的“{}”按钮,将在每个标记行中添加4个空格,因此代码将被格式化为正确格式。 – Oleg