この質問は、私の最初の質問「Nested Data, Loading Children」に続きます。KnockoutJS - 行と列の計算
私は、ネストされたオブジェクトを含むJSONからのデータが入ったテーブルを持っています(色分け参照)。この表には、オブジェクトごとに編集可能な行が1つ含まれています。これは「割り当て」行と呼ばれます。
これらの値は、JSONオブジェクト(「値」:{" n":4、 "n2":2など)から取り込まれます。
まず、編集可能な行ごとに合計を表示したいとします。行内で値が更新されると、合計が更新されます。この背後にあるこのユースケースは、元の合計(Allocation.Total)と観測可能な合計を比較したいので、データが変更されたかどうかを示すコントロールセルのcssクラスを変更できます。
これを以下に示します。 (イエロー指示ユーザの変更)
http://i.stack.imgur.com/XQpLp.jpg
質問の第2の部分は、列合計を扱っています。上記の質問は私の頭が少し傷ついていたが、これは私の心を吹く。私はそのように私はその人の上で寝るだろうし、それが少し明確になったら質問を更新します。
単純化されたデータモデルを使用することから生じた1つの複雑さがあります。その中で、すべてが同じタイプのオブジェクトであると言うことで、ノードに子がある場合、割り当てに使用される単語を変更する必要があります。ノードに子どもの割り当てがある場合、ガイドと呼ばれる必要があります。柱部を更新しました
Simplified Code Example here...
... Allocated.Totalは、割り当ての実行中の合計です。ここでの違いは、この合計が表の列を処理していることです。これも可能ですか?私の心は少し溶け始めました。
アップデート - ノード1、ノード2、ノード3に対してハードコーディングすることによって、これをアプローチすることが可能であるが、列の合計については
4月の26日。私はこれが避けることを望んでいました。これは、ユーザー/リクエストに応じて変化するノードであるためです(たとえば、node1、node2、node3などではありません)。私はこの情報をサーバーサイドで見つけることができるので、HTMLテンプレートでこの問題を解決しました。正しいバインディングでページを配信できるようになりました。
私はJavaScriptで同じアプローチを使用できますが、APIからデータをロードするときには、この情報を動的に取得できる必要があり、JavaScriptはきれいで清潔なままです。私はnode1、node2、node3ビットが動的になるように、(キー、ペア)値を反復処理する方法を見てきました。しかし、これは私がかなり固執したところです。
2番目の部分は、実際に複雑になります。総額は私が後にしているものの一部ですが、私はまた、個々の列(月曜日 - 朝食、月曜日 - 昼食、月曜日 - ダイナー)の合計が必要です。これは最も深いノードから非常に上までカスケードします。
同じことが償還された場合も同じです。だから、誰かがチケットを償還することができます。これは、親ノードまでずっと反映されています。 XPathsを愛する人としては、これは祖先 - または - 自己::クルーだろう。
非常に役に立ちます!ありがとう、私はこれを構築し、いくつかの追加機能も実装することができました。元のポストをColumnsビットの詳細で更新しました。クラッカーのビットです。 – uniquelau
こんにちは@madcapnmckay - あなたは、再編集後のアイデアはありましたか?明日もう一度これを拾い上げると、それ以外は何が起こるか見てみると、私は解決したようにマークアップします(:ありがとうございます)Lau – uniquelau
@uniquelau - こんにちは遅れて申し訳ありません。他の合計はgrandTotalと同様の方法で計算できますが、特定のインデックス(列)に制限する必要があります。 – madcapnmckay