Jquery 在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(

我需要将数据从内联网格传递到控制器

我在jqgrid中有两列,并使用了editurl属性

但我不知道如何准确地使用

这是我的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
)。回调给出了