Jquery 在jqgrid内联编辑中将数据传递给控制器
我需要将数据从内联网格传递到控制器 我在jqgrid中有两列,并使用了editurl属性 但我不知道如何准确地使用 这是我的JqGrid代码Jquery 在jqgrid内联编辑中将数据传递给控制器,jquery,model-view-controller,jqgrid,Jquery,Model View Controller,Jqgrid,我需要将数据从内联网格传递到控制器 我在jqgrid中有两列,并使用了editurl属性 但我不知道如何准确地使用 这是我的JqGrid代码 jQuery(document).ready(function () { var pageWidth = $(window).width(); var lastSel; $("#sortrows").setGridWidth(pageWidth); $('#sortrows').jqGrid(
jQuery(document).ready(function () {
var pageWidth = $(window).width();
var lastSel;
$("#sortrows").setGridWidth(pageWidth);
$('#sortrows').jqGrid('GridUnload');
jQuery("#sortrows").jqGrid({
datatype: "local",
mtype: "GET",
hoverrows: false,
jsonReader: { repeatitems: false, id: "Code" },
ajaxGridOptions: { timeout: 30000 },
colNames: PricelistHeaderColName,
colModel: PricelistHeaderModel,
id: 'Code',
localReader: { id: 'Code' },
prmNames: { id: "Code" },
rowNum: 10,
rowList: [10, 20, 30],
hidegrid: false,
rownumbers: true,
viewrecords: true,
height: 'auto',
width: pageWidth,
scrollOffset: 0,
gridview: true,
autowidth:true,
shrinkToFit: true,
pager: '#psortrows',
sortname: 'Description',
autoencode: true,
loadonce: true,
ignoreCase: true,
multiselect: false,
viewrecords: true,
sortorder: "asc",
caption: "PriceList Headers",
editurl: "../Header/Save",
});
$('#sortrows').jqGrid('setLabel', 'Description', "Description", { 'text-align': 'left' });
jQuery("#sortrows").jqGrid('navGrid', '#psortrows',
{
edit: false,
add: false,
del: false,
});
jQuery("#sortrows").jqGrid('inlineNav', '#psortrows',
{
add: true,
addtext: "Add",
addicon:"ui-icon-plus",
edit: true,
editicon: "ui-icon-pencil",
edittext: "Edit",
save: true,
saveicon: "ui-icon-disk",
savetext:"Save",
cancel: true,
cancelicon: "ui-icon-cancel",
canceltext: "Cancel",
search: true,
searchtext: "Seaech",
});
jQuery("#sortrows").jqGrid('sortableRows', { items: '.jqgrow:not(.unsortable)' });
$('#sortrows').jqGrid('filterToolbar', { searchOnEnter: false, enableClear: false, defaultSearch: "cn", stringResult: true });
//var myData = $('#sortrows').jqGrid('getDataIDs');
for (var i = 0; i < myData.length; i++) {
//jQuery("#sortrows").addRowData(myData[i].Code, myData[i]);
$("#sortrows").jqGrid('addRowData', i + 1, myData[i]);
}
});
jQuery(文档).ready(函数(){
var pageWidth=$(窗口).width();
var lastSel;
$(“#sortrows”).setGridWidth(页面宽度);
$('#sortrows').jqGrid('GridUnload');
jQuery(“#sortrows”).jqGrid({
数据类型:“本地”,
mtype:“获取”,
hoverrows:false,
jsonReader:{repeatitems:false,id:“Code”},
ajaxGridOptions:{timeout:30000},
colname:PricelistHeaderColName,
colModel:PricelistHeaderModel,
id:'代码',
localReader:{id:'Code'},
prmNames:{id:“代码”},
rowNum:10,
行列表:[10,20,30],
希德格里德:错,
行数:对,
viewrecords:是的,
高度:“自动”,
宽度:页面宽度,
滚动偏移量:0,
gridview:没错,
自动宽度:正确,
shrinkToFit:是的,
寻呼机:“#psortrows”,
sortname:“描述”,
自动编码:正确,
有一次:是的,
ignoreCase:是的,
多选:错,
viewrecords:是的,
分拣员:“asc”,
标题:“价格表标题”,
editurl:“../Header/Save”,
});
$('#sortrows').jqGrid('setLabel','Description','Description','Description',{'text align':'left'});
jQuery(“#sortrows”).jqGrid('navGrid','psortrows',
{
编辑:false,
加:错,,
戴尔:错,
});
jQuery(“#sortrows”).jqGrid('inlineNav','#psortrows',
{
加:是的,
addtext:“添加”,
addicon:“用户界面图标+”,
编辑:对,
编辑图标:“用户界面图标铅笔”,
编辑文本:“编辑”,
保存:是的,
saveicon:“ui图标磁盘”,
savetext:“保存”,
取消:对,
取消图标:“ui图标取消”,
取消文本:“取消”,
搜索:对,
搜索文本:“Seaech”,
});
jQuery(“#sortrows”).jqGrid('sortableRows',{items:'.jqgrow:not(.unsortable)});
$('#sortrows').jqGrid('filterToolbar',{searchOnEnter:false,enableClear:false,defaultSearch:cn,stringResult:true});
//var myData=$('#sortrows').jqGrid('getdataid');
对于(var i=0;i
这是我的HTMl页面:
<div>
<label class="col span_1_of_2lbl">
<span style="font-family:'Segoe UI';font-size:13px;font-weight:bold;color:white ;">Environment</span>
</label>
<div class="drg_drop_one">
<div style="padding-top: 13px;">
@Html.DropDownListFor(model => model.Environment, environmentList, new SelectListItem { Value = Model.EnvironmentCode })
</div>
</div>
</div>
<div style="margin-top:40px;">
<table id="sortrows" RequestURL="@Url.Action("LoadPriceListHeadersGrid", "Header")"></table>
<div id="psortrows"></div>
</div>
环境
@Html.DropDownListFor(model=>model.Environment,environmentList,new-SelectListItem{Value=model.EnvironmentCode})
我们是否有任何方法来获取已编辑的行属性并将下拉UI值附加到该编辑行对象中
或者我们可以在editrow事件中定义任何ajax方法
请在此基础上帮助我,内联编辑中使用的方法是
editRow
、saveRow
和restoreRow
。方法addRow
在内部使用editRow
。要发送附加数据,应指定saveRow
或editRow
的extraparam
选项。问题是,如果在InlineAV中使用addRow
、editRow
和saveRow
方法,则会间接调用这些方法。因此,您必须指定相应的附加参数
在使用的情况下,您只需将该选项添加到jqGrid,所有内联编辑方法都将自动使用该选项。有关详细信息,请参阅文章。额外的jqGrid选项如下所示
inlineEdit:{
外参数:{
环境:功能(){
return$(“.drg\u drop\u one select”).val();
}
}
}
如果使用更旧版本的jqGrid,代码应该如下所示
var inlineEditOptions={
外参数:{
环境:功能(){
return$(“.drg\u drop\u one select”).val();
}
}
};
jQuery(“#sortrows”).jqGrid('inlineNav','#psortrows'{
加:是的,
addtext:“添加”,
addicon:“用户界面图标+”,
编辑:对,
编辑图标:“用户界面图标铅笔”,
编辑文本:“编辑”,
保存:是的,
saveicon:“ui图标磁盘”,
savetext:“保存”,
取消:对,
取消图标:“ui图标取消”,
取消文本:“取消”,
搜索:对,
搜索文本:“Seaech”,
//其他参数如下:
editParams:inlineEditOptions,
addRowParams:{addParams:inlineEditOptions}
});
如何使用内联编辑?您是直接调用editRow
,还是使用inlineav
或使用格式化程序:“操作”
?您使用jqGrid的哪个版本和分支?可能性稍有不同,指定附加参数的形式也不同。@Oleg我的问题已用我的代码更新,供您参考。请在这方面帮助我……那怎么办?你没有发表任何评论,也没有回答。现在问题解决了吗?还是有什么不清楚的地方吗?谢谢奥列格,这是我需要的……但是我们可以把整个rowobject传递给控制器吗?@BaluJagua:不客气!我不确定我是否正确理解您,但您可以在jqGrid中定义serializeRowData
回调(不是inlineEditOptions
或inlineEdit
)。回调给出了