0

次のように、インライン追加に inlineNav メソッドを使用しています。

jQuery("#mygrid").jqGrid("inlineNav", "#mygrid_pager1",{"addParams":{"position":"last","addRowParams":{"keys":true}}});

それはうまくいきます。ここで、新しい行を追加した後、グリッドをリロードする必要があります。以下を試しましたが、うまくいきませんでした。

jQuery("#mygrid").jqGrid("inlineNav", "#mygrid_pager1",{"addParams":{"position":"last","addRowParams":{"keys":true, "successfunc":"function(id){$("mygrid").trigger("reloadGrid");"}}});

どんなポインタでも大歓迎です!

4

3 に答える 3

3

まず、 の値はsuccessfunc文字列ではなく関数でなければなりません (現在のコードを参照してください"successfunc":"...") 。

の両方addParams.addRowParamseditParamsのオプションに同じ設定を追加することをお勧めしますinlineNav。また、行の保存という標準処理のにリロードが開始されるように、の内側$(this).trigger("reloadGrid")から配置することをお勧めします。successfuncsetTimeout

したがって、コードは次のようになります。

var editOptions = {
        keys: true,
        successfunc: function () {
            var $self = $(this);
            setTimeout(function () {
                $self.trigger("reloadGrid");
            }, 50);
        }
    };

$("#mygrid").jqGrid("inlineNav", "#mygrid_pager1", {
    addParams: {
        position: "last",
        addRowParams: editOptions
    },
    editParams: editOptions
});
于 2013-09-30T22:15:17.687 に答える