1

我有一个带有jqgrid的jsp页面我想将该网格数据传递给动作类。我正在使用cellEdit编辑jqgrid数据,现在我想将这个新数据传递给动作类以更新数据库中的这些数据。我怎样才能传递jqgrid从jsp到动作类的数据?

 <sjg:grid id="gridtable" caption=" " dataType="json" 
                href="%{listurl}"
                gridModel="listMS_AUTONUMBER"
                            cellEdit="true"
                    cellurl="%{cellediturl}">

<sjg:gridColumn frozen="false"  name="autonumberCd" index="autonumberCd" title="%{getText('autonumber.autonumbercode')}"
                    sortable="true" search="true" editable="true" key="true" editoptions="{maxlength :2}"
                    editrules="{required:true,custom:true,custom_func:validateCapitalAlphanumeric}" formatter="String"  formoptions="{elmsuffix:'  *'}"/>     

                <sjg:gridColumn name="autonumberNm" index="autonumberNm" title="%{getText('autonumber.autonumbername')}"
                    sortable="true" editable="true" edittype="text" editrules="{required:true}" editoptions="{maxlength :10}" formoptions="{elmsuffix:'  *'}" />        

                <sjg:gridColumn name="nextAutonumber" index="nextAutonumber" title="%{getText('autonumber.nextautonumber')}"
                    sortable="true" editable="true" edittype="text" editrules="{required:true,custom:true,custom_func:validateNumericOnly}" editoptions="{maxlength :10}" align="right" formoptions="{elmsuffix:'  *'}" />                      
            </sjg:grid>

这是我的 jqgrid,其中listMS_AUTONUMBER的列表从数据库中检索值并来自另一个动作类。

4

1 回答 1

2

要将 jqgrid 数据从 jsp 传递到操作类,我使用 json 如下:

var data=jQuery("#gridtable").jqGrid('getRowData');      //this method gets all the data from grid
var postData = JSON.stringify(data);          //using json stringify convert the data in string format
alert(postData);

使用警报我以字符串格式显示 jqgrid 的数据。

之后,我通过 AJAX 将这些数据发送到操作类,如下所示:

$.ajax({
       type: "Get",
    url: "action_name?AutoList="+postData,
    data : {
           jgGridData: postData,
        },
    dataType:"json",
    contentType: "application/json; charset=utf-8",
});

在此之后,在动作类中,将此字符串转换为 json 格式,如下所示:

JSONArray outerArray = (JSONArray) JSONSerializer.toJSON(AutoList); 
于 2012-11-12T12:11:40.990 回答