extjs grid 怎样合并单元格?
姓名|性别|年龄|-------------------------||合并------------------||-------------------------...
姓名 | 性别| 年龄|
-------------------------
| |
合并 ------------------
| |
------------------------- 展开
-------------------------
| |
合并 ------------------
| |
------------------------- 展开
3个回答
展开全部
具体步骤如下:
/*
这个方法四个参数分别是
row:合并起始行
col:合并起始列.这两个参数是为了定位,要从哪个单元格开始合并.
type:是要合并行或者列.
num:是要合并的数量
//==>监听load , 执行合并单元格
grid.getStore().on('load', function () {
span(grid, 0, 0, 'row', 5);
});
*/
var span = function (grid, row, col, type, num) {
switch (type) {
case 'row':
tds = Ext.get(grid.view.getNode(row)).query('td');
Ext.get(tds[col]).set({ rowspan: num });
Ext.get(Ext.get(tds[col])).setStyle({ 'vertical-align': 'middle' });
for (i = row + 1; i < row + num; i++) {
Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy();
}
break;
case 'col':
tds = Ext.get(grid.view.lockedView.getNode(row)).query('td');
Ext.get(tds[col]).set({ colspan: num });
break;
}
};
/*
这个方法四个参数分别是
row:合并起始行
col:合并起始列.这两个参数是为了定位,要从哪个单元格开始合并.
type:是要合并行或者列.
num:是要合并的数量
//==>监听load , 执行合并单元格
grid.getStore().on('load', function () {
span(grid, 0, 0, 'row', 5);
});
*/
var span = function (grid, row, col, type, num) {
switch (type) {
case 'row':
tds = Ext.get(grid.view.getNode(row)).query('td');
Ext.get(tds[col]).set({ rowspan: num });
Ext.get(Ext.get(tds[col])).setStyle({ 'vertical-align': 'middle' });
for (i = row + 1; i < row + num; i++) {
Ext.get(Ext.get(grid.view.getNode(i)).query('td')[col]).destroy();
}
break;
case 'col':
tds = Ext.get(grid.view.lockedView.getNode(row)).query('td');
Ext.get(tds[col]).set({ colspan: num });
break;
}
};
展开全部
如果只是合并表头的话那好弄,官方例子里就有,但是合并内容的话我记得extjs4.0才有这个功能,如果你想在3.0里实现的话恐怕要重写grid或者用模板Template不知道行不行
更多追问追答
追问
我是3.0 那重写grid 怎么弄?模板在哪里,你有吗?
追答
不好意思,具体怎么弄那要靠你自己了,我也在上班,没有时间研究这个,只能给你思路:
1、重写用Ext.extend()这个方法,具体使用请看API
2、用模板的话Ext有一个Template类,API里也有,你自己学习一下吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用“&”键 可以使两个单元格内容合并
追问
具体点,我不理解呀,谢谢了
追答
就是 在另一单元格用 “A1&A2” 这样A1和A2单元格的内容就合并了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询