javascript - 如何在ExtJs中获取行标题功能?

标签 javascript json extjs matrix extjs4

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

+-----------------+------------+---------------+
|                 |  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

但是我找不到有行标题的那个。如何实现它并呈现与行和列属性相对应的数据(例如 Jason 文件中的数据)?

最佳答案

因此,您的网格将包含三列:

columns:[{
    dataIndex:'rowHeader'
},{
    text:'Column 1',
    dataIndex:'column1'
},{
    text:'Column 2',
    dataIndex:'column2'
}]

并从模型 fields:['rowHeader','column1','column2'] 的商店加载数据

如果是 JSON 存储,则期望服务器以以下格式将数据提交给他

{success:true,data:[
    {rowHeader:'RowHeader 1',column1:'',column2:''},
    {rowHeader:'RowHeader 2',column1:'',column2:''},
    {rowHeader:'RowHeader 3',column1:'',column2:''}
]}

如果您想显示其他格式的数据,例如稀疏矩阵常用的格式:

{rowHeader:'RowHeader 1',columnHeader:'ColumnHeader 1',value:''},
{rowHeader:'RowHeader 2',columnHeader:'ColumnHeader 1',value:''},
{rowHeader:'RowHeader 3',columnHeader:'ColumnHeader 1',value:''},
{rowHeader:'RowHeader 1',columnHeader:'ColumnHeader 2',value:''},
{rowHeader:'RowHeader 2',columnHeader:'ColumnHeader 2',value:''},
{rowHeader:'RowHeader 3',columnHeader:'ColumnHeader 2',value:''},
{rowHeader:'RowHeader 1',columnHeader:'ColumnHeader 3',value:''},
{rowHeader:'RowHeader 2',columnHeader:'ColumnHeader 3',value:''},
{rowHeader:'RowHeader 3',columnHeader:'ColumnHeader 3',value:''}

您必须手动将数据转换为上述格式,因为 ExtJS 网格无法处理任何每行没有一条记录的格式。

如果您想知道如何使 RowHeader 单元格看起来像标题:

基本上,它归结为在列上定义一个 tdCls,也可能定义一个渲染器。您可能想查看 api 文档 http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-tdCls并在http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-renderer

然后,有《如何设置 ExtJS 网格单元样式》指南,网址为 http://skirtlesden.com/articles/styling-extjs-grid-cells

关于javascript - 如何在ExtJs中获取行标题功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26037153/

相关文章:

javascript - Chart.js 中的水平 'limit' 线

ios - 如何让 Swift/Xcode 控制台显示中文字符而不是 unicode?

javascript - ExtJs 4.1网格的分组功能启用和禁用问题

javascript - Extjs 网格 colspan 和行跨度

c# - 在 C# 中使用 json 对象

javascript - 如何在 Extjs 4 标签上添加点击事件

javascript - 使用动态键和值动态创建 JSON

javascript - 使用多选更改图像源

javascript - 如何将选择元素的 itemindex 设置为 -1?

json - 使用json4s将json中的字符串解析为java.time.LocalTime