這個問題在我的原始和第一個問題'Nested Data, Loading Children'之後。KnockoutJS - 行和列計算
我有一個表中填充了來自包含嵌套對象的JSON的數據(請參見顏色編碼)。該表包含每個可編輯對象的一行。這稱爲「分配」行。
這些值由JSON對象填充(「Values」:{「 n」:4,「n2」:2等)。
首先我想顯示每個可編輯行的總數。由於值在行內更新了總更新。這個背後的用例是我想比較原始總數(Allocation.Total)和可觀察總數,所以我可以更改控件單元格上的css類以指示數據是否已更改。
這如下所示; (黃色指示的用戶的變化)
http://i.stack.imgur.com/XQpLp.jpg
問題的第二部分是處理一列總計。上面的問題讓我的頭部受到了一點傷害,但是這個打擊了我的頭腦。因此,我會睡在那一個,然後更新問題,一旦它變得更清楚一點。
從使用簡化的數據模型出現了一種複雜化。通過說所有事物都是相同類型的對象,(機組人員),當節點有孩子時,用於分配的詞需要改變。如果節點有兒童'分配'應該被稱爲指南。
Simplified Code Example here...
與柱體部...的Allocated.Total更新,是一個運行總的劃分。這裏的區別在於這個總數正在表格的列中排列,沒有排在單個行上。這甚至有可能嗎?我的思緒開始融化了一點。
更新 - 四月 26日
對於列總計雖然可以通過硬編碼針對節點1,節點2,節點3接近這一點。我希望避免這種情況,因爲這些是根據用戶/請求而改變的節點(例如,它不總是節點1,節點2,節點3)。我已經在HTML模板中解決了這個問題,因爲這些信息可以在服務器端找到,使我能夠使用正確的綁定來提供頁面。
我可以對JavaScript使用相同的方法,但是當我們從API中加載數據時,必須可以動態獲取這些信息,然後JavaScript仍然很乾淨。我一直在研究如何迭代(鍵,對)值,所以node1,node2,node3位可以變爲動態的。然而,這是我陷入困境的地方。
第二部分,它變得非常複雜。總分是我之後的一部分,但我也需要每個專欄的總額(週一 - 早餐,週一 - 午餐,週一 - 晚餐)。這從最深的節點級聯到最高級。
Redeemed也是如此。因此,一個人可以兌換一張票,它一直反映到父節點。作爲喜歡XPath的人,這將是祖先或自己::船員。
令人難以置信的幫助!謝謝,我已經能夠在此基礎上實現一些附加功能。我已經更新了原始文章,並在Columns位上詳細說明了這個問題,它有點兒怪異。 – uniquelau 2012-04-26 15:42:59
嗨@madcapnmckay - 重新編輯之後您有什麼進一步的想法嗎?明天再去看看,看看還有什麼我可以想出來的,否則,我會標記爲已解決(再次感謝!)Lau – uniquelau 2012-05-02 15:52:33
@uniquelau - 嗨,對不起,我遲到了。最近很多,動態問題應該可以通過遍歷Values對象來解決(見編輯),其他的總計應該能夠以與grandTotal類似的方式計算,但是限制在那個特定的索引(列)。首先得到這個最低級別的節點,然後讓父節點和他們的孩子一起工作 – madcapnmckay 2012-05-07 04:37:38