Knockout.js复杂的表数据绑定



我对knockout.js还很陌生,有以下问题:

http://jsfiddle.net/ToastedSoul/wAyY7/

<td>
    <!-- what to put here? -->
</td>
...
"TableEntrySet":[
              {
                 "DisplayCode":"A",
                 "ColumnCode":"A4",
                 "RowCode":"L1",
              },

我从服务器获取JSON数据,并希望使用一些表来可视化日期。标有"级别b文本x.y"的表格应在正确的单元格中包含"DisplayCode"值(第一个表格:位于"A4/L1"a"a"和位于"A4/S1"a"a")。数据永远不会包含单个单元格的多个条目。

"汇总表"应该将以前的所有表分层显示出来。因此,在这里,可能存在单个单元格接收多个值的情况(在我的小提琴中:"A4/S1"将得到"a"one_answers"V","A3/S4"将获得"2V"或"VV")

我正在寻找一种优雅的方式来填充这些表格。

由于以后我必须对表的一些列/行/区域进行样式设置,所以我真的不需要像在小提琴里那样创建它们(但如果这也是可能的,为什么不呢!)。

如果这对你的职业选手来说太容易了:如果我想在页面上只有一个表按钮"上一个"one_answers"下一个"来浏览所有填充的表(包括摘要表),该怎么办?

您的问题是,您正在将最内层foreach的数据作为RowNames可观察数组。每个敲除foreach都是上下文相关的:它只有您传入的可用数据。两个例外是$parent$root,前者允许您访问直接父foreach的数据(如果存在),后者允许您访问视图模型。在这里,这两个都没有真正帮助你,因为你需要的数据在根视图模型的列表中。可以潜在地使用$index来尝试拉出另一个列表的正确成员,但前提是RowNames数组和它的索引匹配,但事实可能并非如此。

通常,您最好的选择是简单地进行重构,以便实际使用要使用的数据而不是RowNames,并找到另一种方法来获取行标头值。

最新更新