通常,ExtJS将JSON渲染到网格中,考虑到属性转到顶部列并且它们的数量是固定的。并且相应的值作为记录加载到行中。这些行数可能因Json中的记录而异。
但我的要求略有变化。我希望属性转到第一行和相应的列。这里的列数可能会有所不同,具体取决于Json中的记录。
我想渲染如下所示的内容:
+-----------------+------------+---------------+
| | Column 1 | Column 2 |
+------------------------------+---------------+
| Row Header 1 | ... | |
+------------------------------+---------------+
| Row Header 2 | | |
+------------------------------+---------------+
| Row Header 3 | | |
+----------------------------------------------+
我理解实现列标题的方法,也有很多文档可用。例如
我甚至使用此处描述的解决方案实现了这一目标:
How to get the Row Headers functionality in ExtJs?
但是在这种情况下,JSON看起来并不好看并且似乎不可维护,因为当我们想要添加记录时,我们需要为所有数组项添加另一个属性:
{ [
{ prop1 : value, prop2 : value },
{ prop1 : value, prop2 : value },
// to add new record, we need to do below :
{ prop1 : value, prop2 : value, prop3 : value },
{ prop1 : value, prop2 : value, prop3 : value }
] }
与常规ExtJS网格的情况下添加具有固定属性的数组项不同:
{ [
{ prop1 : value, prop2 : value },
{ prop1 : value, prop2 : value },
// to add new record, we need to do below :
{ prop1 : value, prop2 : value },
{ prop1 : value, prop2 : value },
{ prop1 : value, prop2 : value }
] }
要在网格中加载的数据非常庞大且不可预测的行。请告诉我实现它的正确方法,并保持JSON文件的优化/可读方式。
答案 0 :(得分:0)
Ext中没有列标题的概念,但是,您可以使用锁定网格实现类似的功能:http://dev.sencha.com/ext/5.1.0/examples/kitchensink/#spreadsheet