{ "id": 97, "shipCode": "SKCA", "shipName": "加拿大集运空运大包", "destCode": "CA", "type": "申报总价值", "beginCondition": "20", "beginRules": "gte", "endCondition": "", "endRules": "", "rules": "", "state": 1, "extrasDetail": "[{\"clientId\":\"07563a3fe3bbe7e3ba84431ad9d055af\",\"clientName\":\"广州政豪\"}]", "creatTime": "2023-03-02 16:38:03", "updateTime": "2023-06-02 10:06:48", "message": "申报价值≥20usd,渠道无服务" } 这个组数据ext js 3.4 查出来的表格数据 extrasDetail为二级数据如何实现折叠展示
时间: 2023-07-08 12:46:53 浏览: 162
你可以使用Ext JS 3.4提供的GridPanel组件来展示这个表格数据。在GridPanel中,你可以使用ColumnModel组件配置你需要展示的列,然后使用JsonReader组件将数据加载到GridPanel中。
对于extrasDetail这个二级数据,你可以使用ExpanderRow插件来实现折叠展示。ExpanderRow插件可以让你在GridPanel中添加一个可展开的行,当用户点击展开按钮时,会显示额外的信息。
下面是一个简单的示例代码,可以让你开始实现这个功能:
```
var expander = new Ext.ux.grid.RowExpander({
tpl: new Ext.Template(
'<p>客户ID: {clientId}</p>',
'<p>客户名称: {clientName}</p>'
)
});
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{header: 'ID', dataIndex: 'id'},
{header: '运输方式', dataIndex: 'shipName'},
{header: '申报类型', dataIndex: 'type'},
{header: '起始条件', dataIndex: 'beginCondition'},
{header: '结束条件', dataIndex: 'endCondition'},
{header: '状态', dataIndex: 'state'},
{header: '创建时间', dataIndex: 'creatTime'},
{header: '更新时间', dataIndex: 'updateTime'},
{header: '消息', dataIndex: 'message'}
],
plugins: [expander],
height: 300,
width: 600,
title: '表格数据展示',
renderTo: Ext.getBody()
});
```
在这个示例代码中,我们使用RowExpander插件创建了一个可展开的行,并在模板中显示了extrasDetail中的数据。然后,我们将这个插件添加到GridPanel的plugins配置项中,使得每一行都可以展开和折叠。
注意,示例代码中的store、record、和column的具体实现可能需要根据你的数据结构进行修改。
阅读全文