2

スケジューリングプロセスにjqGridを使用しています。グリッドには、部門内の従業員の勤務時間などの詳細を表示しています。グリッド内の行をクリックすると、別のグリッドがポップアップ表示され、マスターグリッド内の対応する行の詳細が表示されます。たとえば、http://trirand.com/blog/jqgrid/jqgrid.htmlを参照できます。(adanced> masterdetails)。これは、マスターグリッドの行をクリックすると、下のグリッドに請求書の詳細が表示される2つのグリッドの例を示しています。私も同じ機能が必要で、それに追加します。2番目のグリッドの行を追加/編集する必要があります。グリッドデータ型は両方ともローカルです。追加/編集ダイアログの送信ボタンをクリックすると、サーバーにデータを送信するデフォルトのアクションをオーバーライドして、独自の関数を作成します。この機能は、追加された詳細/編集された詳細をオブジェクトに保存し、それをデータブロックとしてdivにバインドすることです。

試しonclickSubmitましたが、それでもデフォルトのメソッドを呼び出していました。これに加えて、新しい行でグリッドをリロードしたいと思います。

4

1 に答える 1

0

最初の問題については、何ができるか... jqgridのonSelectRowプロパティを使用すると、その行のデータをローカルデータとして送信し、そのすぐ下の新しいグリッドを前のグリッドに読み込むことができます。

たとえば、これは最初のグリッドで書くことができます

onSelectRow: function(){
var sel_id = jQuery("#grid").jqGrid('getGridParam', 'selrow');

//this will give you id of the selected row この行の列の値を取得するには、いくつかの方法があります

これを使用します。この行の列として日付があるとします。

それで、

var date=getCellValue(sel_id,'date');

これで、同じ関数に新しいグリッドをロードして、このデータをそのグリッドに送信できます。

そして今、あなたの2番目の問題は、ダイアログの追加/編集のカスタム機能のために、このイベントを利用してそれを乗り越えることができます

beforeSubmit

これをチェックして

http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing#editgridrow

于 2012-07-24T12:26:49.360 に答える