1

通常,ExtJS 将 JSON 呈现为网格,考虑到属性位于顶部列并且它们的数量是固定的。并且相应的值作为记录加载到行中。这里的行数可能会根据 Json 中的记录而有所不同。

但我的要求略有变化。我希望属性转到第一行和相应的列。这里的列数可能会根据 Json 中的记录而有所不同。

我想渲染如下所示的内容:

+-----------------+------------+---------------+
|                 |  Column 1  |    Column 2   |
+------------------------------+---------------+
|  Row Header 1   |    ...     |               |
+------------------------------+---------------+
|  Row Header 2   |            |               |
+------------------------------+---------------+
|  Row Header 3   |            |               |
+----------------------------------------------+

我了解实现列标题的方法,也有很多可用的文档。例如

http://docs.sencha.com/extjs/4.2.3/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#grouped-header-grid

我什至使用这里描述的解决方案实现了这一点:

如何在 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 文件优化/可读方式的正确方法。

4

1 回答 1

0

Ext 中没有列标题的概念,但是,您可以使用锁定网格实现类似的功能:http: //dev.sencha.com/ext/5.1.0/examples/kitchensink/#spreadsheet

于 2015-02-05T12:45:48.873 回答