写一个extjs gridpanel 单元格合并
时间: 2023-08-04 15:20:40 浏览: 151
extjs单元格合并代码
4星 · 用户满意度95%
可以使用 Ext.grid.feature.Grouping 插件来进行单元格合并。以下是示例代码:
```
Ext.create('Ext.grid.Panel', {
title: 'My Grid Panel',
store: myStore,
columns: [
{ text: 'Name', dataIndex: 'name', flex: 1 },
{ text: 'Age', dataIndex: 'age', flex: 1 },
{ text: 'Salary', dataIndex: 'salary', flex: 1 }
],
features: [{
ftype: 'grouping',
groupHeaderTpl: '{columnName}: {name} ({rows.length})',
hideGroupedHeader: true,
startCollapsed: true,
groupByText: 'Group by this field'
}],
renderTo: Ext.getBody()
});
```
在上述代码中,我们创建了一个包含三列的 GridPanel,并使用 Ext.grid.feature.Grouping 插件进行了单元格合并。我们使用 groupHeaderTpl 属性来指定分组的标题,hideGroupedHeader 属性来隐藏已分组的列的标题,startCollapsed 属性来指定分组初始时是否折叠,groupByText 属性来指定分组菜单项的文本。
如果您想要根据特定的列进行分组和合并,则可以使用 groupField 属性来指定要分组的列的名称。例如:
```
Ext.create('Ext.grid.Panel', {
title: 'My Grid Panel',
store: myStore,
columns: [
{ text: 'Name', dataIndex: 'name', flex: 1 },
{ text: 'Age', dataIndex: 'age', flex: 1 },
{ text: 'Salary', dataIndex: 'salary', flex: 1 }
],
features: [{
ftype: 'grouping',
groupHeaderTpl: '{columnName}: {name} ({rows.length})',
hideGroupedHeader: true,
startCollapsed: true,
groupByText: 'Group by this field',
groupField: 'age'
}],
renderTo: Ext.getBody()
});
```
在上述代码中,我们将 groupField 属性设置为 'age',这意味着我们将根据 'age' 列进行分组和合并。
阅读全文