【问题标题】:YUI3 Datatable - row formatting and selectionYUI3 Datatable - 行格式和选择
【发布时间】:2012-10-18 14:26:43
【问题描述】:
我有一个在这里工作的例子 - http://jsfiddle.net/BM3kX/5
它有一段由 YUI 数据表使用的 JSON。我对此有一些疑问。
JSON 有一个“imageURI”属性,我需要从该属性中渲染一个图像 [16x16] 以及同一单元格中的“showName”属性。此外,表格可以有多行,以便有效地在每一行上呈现图像。
当我点击一行时,表格应该提醒我选择的记录。但是这里有一个转折——我需要的数据与用于渲染它的 JSON 完全相同。 (即使我没有在表中的任何地方使用它,我什至应该获得“类型”属性。)
我怎样才能满足上述要求?任何解决方案或可能性?
【问题讨论】:
标签:
javascript
json
yui
yui3
yui-datatable
【解决方案1】:
1) 在那里你无能为力。我假设每个记录的图像都不同,因此除了以适当的大小发送图像而不是让客户端调整它们的大小之外,没有太多需要优化的地方。如果图像是某种代表状态的图标,我建议您以某种方式发送状态编码并让浏览器决定如何表示它,但如果它们是人的图片,您只需要让浏览器处理尽最大努力与他们在一起。
2) 对于点击的行,很容易从模型中重构出原始数据。您不需要为该行保留 JSON 的副本,您可以随时将其转换为 JSON(毕竟,模型有一个 toJSON 方法可以轻松实现)。表中每条记录的模型可以保存比表中显示的信息更多的信息。 column 属性告诉数据表显示什么,数据源存储什么。使用 getRecord 访问底层模型并对其进行 JSON 编码。如果该类型最初存在,即使您不显示它,它仍然存在。