복붙노트

[JQUERY] jqgrid 삽입을 위해 웹 서비스에 대한 행을 추가하고 데이터를 보내십시오.

JQUERY

jqgrid 삽입을 위해 웹 서비스에 대한 행을 추가하고 데이터를 보내십시오.

해결법


  1. 1.먼저 추가 / 편집에 사용되는 기본 옵션을 변경할 수 있습니다.

    먼저 추가 / 편집에 사용되는 기본 옵션을 변경할 수 있습니다.

    jQuery.extend(jQuery.jgrid.edit, {
        ajaxEditOptions: { contentType: "application/json" },
        recreateForm: true,
        serializeEditData: function (postData) {
            if (postData.exercise_value === undefined) { postData.exercise_value = null; }
            return JSON.stringify(postData);
        }
    });
    

    (여기서 json.stringify는 http://www.json.org/js.html에 정의 된 함수입니다). 그런 다음 서버에 전송되는 데이터는 JSON 인코딩됩니다. 거의 동일한 설정을 삭제에 사용할 수 있습니다.

    jQuery.extend(jQuery.jgrid.del, {
        ajaxDelOptions: { contentType: "application/json" },
        serializeDelData: function (postData) {
            if (postData.exercise_value === undefined) { postData.exercise_value = null; }
            return JSON.stringify(postData);
        }
    });
    

    이제는 다음과 같이 Insertrecord를 정의 할 수 있습니다

    [WebMethod, ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public int ModifyData (string exercise_value, string oper, string id)
    {
        if (String.Compare (id, "_empty", StringComparison.Ordinal) == 0 ||
            String.Compare (oper, "add", StringComparison.Ordinal) == 0) {
    
            // TODO: add new item with the exercise_value and return new id
            //       as the method result
        }
        else if (String.Compare (oper, "edit", StringComparison.Ordinal) == 0) {
            // TODO: modify the data identified by the id
        }
        else if (String.Compare (oper, "del", StringComparison.Ordinal) == 0) {
            // TODO: delete the data identified by the id
        }
    }
    

    어떤 유형이 entereger 또는 string을 사용하는지 썼습니다. String ID를 사용하는 경우 위의 코드를 조금 변경해야합니다.

  2. from https://stackoverflow.com/questions/3917102/jqgrid-add-row-and-send-data-to-webservice-for-insert by cc-by-sa and MIT license