1

I have one jsp page with jqgrid I want to pass that grid data to action class.I am editing jqgrid data using cellEdit and now i want to pass this new data to action class to update this data in database.How can i pass the jqgrid data from jsp to action class?

 <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>

This is my jqgrid in which listMS_AUTONUMBER is list which retrieves value from database and coming from another action class.

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 に答える