2017-11-07 12 views
0

3つのレベルのグループ化が適用されたJQgridがあります。はじめてグリッドを読み込むと、列の合計が正常に丸められます。 行内でインライン編集を実行し、グループサマリー行を更新して新しい値を追加する必要があります。 editRowメソッドのaftersavefuncでグリッドをリロードしようとしましたが、グリッドデータをサーバーデータに置き換えています。 行の編集時にグループサマリー行データを更新する方法はありますか?編集時にJQgridのGroupSummary行を更新する

ありがとうございました。

+0

**どのバージョンのjqGridをお使いですか? JavaScriptコードを投稿できますか?現在、編集の実装方法は不明です。通常は、変更されたデータをサーバに保存し、 'aftersavefunc'コールバックは、サーバからの確認を取得してデータが変更された後にのみ呼び出されます。したがって、データを再ロードすると、変更されたデータが返されます。現在の問題の説明が短すぎます。 1つは推測できますが、間違ったオプションを使用してHTTP応答の間違ったキャッシングプロパティ(新しいデータの再読み込みなし)を使用するまで、多くの問題が起きる可能性があります。 – Oleg

+0

私たちはfree-jqgridバージョン4.15.2を使用しています。ここでグループ化の概要を示すデモを作成しました。https://jsfiddle.net/oyavoe00/ 列、列モデル、データはjson形式です。私たちの問題は、行の編集を実行して値を更新し、サーバーにデータを保存せずに対応するグループサマリも画面上で更新する必要がある場合です。私たちはカスタム機能を使用して、ボタンクリックでグリッドからデータを保存しています。 サーバーにデータを保存し、編集保存時にデータを取得しないようにします。 –

+0

https://jsfiddle.net/oyavoe00/1/をご覧ください。問題はここに存在しますか? – Oleg

答えて

0

たとえば、インライン編集の終了後にグリッドをリロードすることができます。

inlineEditing: { 
    keys: true, 
    aftersavefunc: function() { 
     var $self = $(this); 
     setTimeout(function() { 
      $self.trigger("reloadGrid"); 
     }, 0); 
    } 
} 

インライン編集オプションを設定するには、無料のjqGridでinlineEditingオプションを使用することをお勧めします。 https://jsfiddle.net/oyavoe00/2/

+0

ありがとうオレグ。あなたのソリューションは私の魅力のように機能しました。しかし、1つの問題があります。私たちのデータはサーバーから来ているためです。最初に表示するグループの順序は必要なものですが、インライン編集後にグリッドをロードすると、グリッドはグループ値のアルファベット順にソートされます。グリッド内の列に基づいてグリッド内のデータを並べ替えたりソートしたりする方法はありますか?デモのようにhttps://jsfiddle.net/5expwodw/3/。注文欄に基づいてデータを表示したい。 –

+0

@supriyakhamesra:私はあなたを正しく理解しているかどうかはわかりません。デモで問題を再現できるかhttps://jsfiddle.net/5expwodw/3/?問題を再現するためにテストケースをステップごとに説明してください(包括的な期待結果とデモの結果)?あなたが記述した問題は、デモではなく、実際のコードに存在すると思います。あなたは本当にどのデータ型を使用していますか?サーバーから編集または再ロードした後でローカルにデータを再読み込みしますか? – Oleg

+0

デモでは、griddataの下にある順番でデータを変更します。しかし、グリッドに割り当てると、自動的にソートされます。実際のコードでは、Jonをデータ型として使用しています。それ以外の場合は、グリッドが編集後に再ロードされるたびにサーバーからデータを取得しています。私は、このグリッドがグループにソートを使用していないので、それ自身のソートを適用していると思います。 –

関連する問題