1

問題:jqGridクライアント側の「addRowData」で正常に追加された新しいjqGrid行を、1行の「saveRow」メソッド呼び出しでサーバー側のコレクションに保存できますか?

これは、同様のスレッドの一種の異なるバージョンです。 新しい行を追加した後にjqGridでアクションを実行する方法

私の場合は少し違うようですが:

既存:挿入、更新、削除、読み取りのために.ashxハンドラーと通信するグリッドがあります。(これはインライン編集などで正常に機能します)

新機能:テキストの配列を貼り付けて行に変換する貼り付けボタンを追加しました。最後に短い2行のコードで、分割されたデータを行ごとにjqGridに追加します。

var gridRow = { Id: rowId, Surname: rowSurname,  DateOfBirth: rowDateOfBirth, Salary: rowSalary, Postcode: rowPostcode };
            jQuery("#list").addRowData(rowId, gridRow);  //(**)

(ご覧のとおり、既存のデータを検索して計算するrowIdを知っています)

キャッチ:上記のコードはUIにのみ新しい行を追加し、サーバーコレクションにも追加したかったのです。

障害:行(**)の後に、サーバーコレクションに追加したかったのですが、URLを渡すsaveRowを使用した新しい呼び出しを使用するだけです。まだ何も起こらない

これは私がすでに試したことの1つのバリエーションです:

                                $( "#list")。jqGrid('saveRow'、rowId、{//上記の'addRowData'メソッドで使用されるのと同じrowId値
                                    succesfunc:関数(応答){
                                        trueを返します。
                                    }、
                                    url: "jqHandler.ashx"、
                                    mtype: "POST"、
                                    extraparam:gridRow//上記の「addRowData」メソッドで使用されるgridRow
                                });

ボトムライン:1行の「saveRow」メソッド呼び出しで、jqGridクライアント側の「addRowData」で正常に追加された新しいjqGrid行をサーバー側のコレクションに保存できますか?

いくつかのガイダンスを本当にいただければ幸いです。よろしく、クリス

4

1 に答える 1

1

それを整理すると、単純化されているため、誰かを助けるかもしれません:

必要なのは「行を編集する」ことだけなので、編集関数呼び出しを最も単純な方法で追加する必要がありました。

したがって、全体は次のようになります。

var gridRow = { Id: rowId, Surname: rowSurname,  DateOfBirth: rowDateOfBirth, Salary: rowSalary, Postcode: rowPostcode };
jQuery("#list").addRowData(rowId, gridRow);  

jQuery("#list").addRowData(rowId, gridRow);
jQuery("#list").jqGrid('editRow', rowId, { keys: true });

$("#list").jqGrid('saveRow', rowId, { //same rowId value used in 'addRowData' method above
                                    succesfunc: function (response) {
                                        return true;
                                    },
                                    url: "jqHandler.ashx",
                                    mtype: "POST",
                                    extraparam: gridRow // gridRow used in 'addRowData' method above
                                });

jQuery または jqGrid API の呼び出しと同じ方法を使用するように調整できます。しかし、それは動作します...

乾杯

于 2012-12-04T10:42:49.667 に答える