extjs 动态生成表格问题 现在项目开发中需要使用extjs生成如下面图片的一个表格。此表格有两个表头,即横向的和纵向的。并且都是动态的。请大家指点思路,不胜感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我看了一下 Ext.XTemplate,但是不好使用双重for循环,并且竖着的表头也不知道如何生成。困扰了好几天了。 使用EXTJS中遇到过和你一样的问题,而且还要比你的复杂,表头合并、行列数据合并当初考虑用extjs,但是太麻烦最后就用了服务器控件GridView轻易搞定。 问题解决了,我的做法是从服务器上动态返回json文件,格式如下。 grid中的数据从json中取值即可。 var json = { 'columModle' : [{ header : "", dataIndex : "od", width : 80, id : 'od' }, { header : "上海虹桥", dataIndex : "AOH", width : 50 }, { header : '上海', width : 50 dataIndex : 'SHH' }, { header : '上海西', width : 50, dataIndex : 'SXH' }, { header : '苏州', width : 50, dataIndex : 'SZH' }, { header : '苏州新区', width : 50, dataIndex : 'ITH' }, { header : '无锡新区', width : 50, dataIndex : 'IFH' }, { header : '无锡', width : 50, dataIndex : 'WXH' }, { header : '惠山', width : 50, dataIndex : 'VCH' }, { header : '戚墅堰', width : 50, dataIndex : 'QYH' }, { header : '丹阳', width : 50, dataIndex : 'DYH' }, { header : '丹徒', width : 50, dataIndex : 'RUH' }, { header : '镇江', width : 50, dataIndex : 'ZJH' }, { header : '宝华山', width : 50, dataIndex : 'BWH' }, { header : '仙林', width : 50, dataIndex : 'XPH' }, { header : '南京', width : 50, dataIndex : 'NJH' }], 'fieldsNames' : [{ name : 'od', type : 'string' }, { name : 'SXH', type : 'string' }, { name : 'KNH', type : 'string' }, { name : 'AIH', type : 'string' }, { name : 'KAH', type : 'string' }, { name : 'SZH', type : 'string' }, { name : 'ITH', type : 'string' }, { name : 'IFH', type : 'string' }, { name : 'WXH', type : 'string' }, { name : 'VCH', type : 'string' }, { name : 'QYH', type : 'string' }, { name : 'CZH', type : 'string' }, { name : 'DYH', type : 'string' }, { name : 'RUH', type : 'string' }, { name : 'ZJH', type : 'string' }, { name : 'BWH', type : 'string' }, { name : 'XPH', type : 'string' }, { name : 'NJH', type : 'string' }], 'data' : [{ 'od' : '上海虹桥', 'AOH' : '-', 'SHH' : '-', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '上海', 'AOH' : '-', 'SHH' : '-', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '上海西', 'AOH' : '10', 'SHH' : '10', 'SXH' : '-', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '南翔北', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '-', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '安亭北', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '-', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '花桥', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '-', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '昆山南', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '-', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '阳澄湖', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '-', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '苏州园区', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '-', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '苏州', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '-', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '苏州新区', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '-', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '无锡新区', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '-', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '无锡', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '-', 'VCH' : '10', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '惠山', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '-', 'QYH' : '10', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '戚墅堰', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '-', 'CZH' : '10', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' }, { 'od' : '常州', 'AOH' : '10', 'SHH' : '10', 'SXH' : '10', 'NEH' : '10', 'ASH' : '10', 'VQH' : '10', 'KNH' : '10', 'AIH' : '10', 'KAH' : '10', 'SZH' : '10', 'ITH' : '10', 'IFH' : '10', 'WXH' : '10', 'VCH' : '10', 'QYH' : '10', 'CZH' : '-', 'DYH' : '10', 'RUH' : '10', 'ZJH' : '10', 'BWH' : '10', 'XPH' : '10', 'NJH' : '10' } ] }; 求解啊,我的jscex库好像用不了 extjs4中treepanel的问题 高分急问!! 高度自适应 可以在dom的形态下 取得高度值吗??? 文本内容的选中问题 如何使用javascript控制浏览器的大小? JSP结合JS 自动〖另存为〗命令的实现 :格式为 contentType="application/vnd.ms-excel;charset=GBK"的JSP页面 如何不刷新页面实现这个功能?(高分求解) 关于浏览器后退的一个疑问 arcgis js api 加载 google 切片地图 异常 .focus 问题,textbox focus 图片才显示 一段js代码,请指教!
'columModle' : [{
header : "",
dataIndex : "od",
width : 80,
id : 'od'
}, {
header : "上海虹桥",
dataIndex : "AOH",
width : 50
}, {
header : '上海',
width : 50
dataIndex : 'SHH'
}, {
header : '上海西',
width : 50,
dataIndex : 'SXH'
}, {
header : '苏州',
width : 50,
dataIndex : 'SZH'
}, {
header : '苏州新区',
width : 50,
dataIndex : 'ITH'
}, {
header : '无锡新区',
width : 50,
dataIndex : 'IFH'
}, {
header : '无锡',
width : 50,
dataIndex : 'WXH'
}, {
header : '惠山',
width : 50,
dataIndex : 'VCH'
}, {
header : '戚墅堰',
width : 50,
dataIndex : 'QYH'
}, {
header : '丹阳',
width : 50,
dataIndex : 'DYH'
}, {
header : '丹徒',
width : 50,
dataIndex : 'RUH'
}, {
header : '镇江',
width : 50,
dataIndex : 'ZJH'
}, {
header : '宝华山',
width : 50,
dataIndex : 'BWH'
}, {
header : '仙林',
width : 50,
dataIndex : 'XPH'
}, {
header : '南京',
width : 50,
dataIndex : 'NJH'
}],
'fieldsNames' : [{
name : 'od',
type : 'string'
}, {
name : 'SXH',
type : 'string'
}, {
name : 'KNH',
type : 'string'
}, {
name : 'AIH',
type : 'string'
}, {
name : 'KAH',
type : 'string'
}, {
name : 'SZH',
type : 'string'
}, {
name : 'ITH',
type : 'string'
}, {
name : 'IFH',
type : 'string'
}, {
name : 'WXH',
type : 'string'
}, {
name : 'VCH',
type : 'string'
}, {
name : 'QYH',
type : 'string'
}, {
name : 'CZH',
type : 'string'
}, {
name : 'DYH',
type : 'string'
}, {
name : 'RUH',
type : 'string'
}, {
name : 'ZJH',
type : 'string'
}, {
name : 'BWH',
type : 'string'
}, {
name : 'XPH',
type : 'string'
}, {
name : 'NJH',
type : 'string'
}],
'data' : [{
'od' : '上海虹桥',
'AOH' : '-',
'SHH' : '-',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '上海',
'AOH' : '-',
'SHH' : '-',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '上海西',
'AOH' : '10',
'SHH' : '10',
'SXH' : '-',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '南翔北',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '-',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '安亭北',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '-',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '花桥',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '-',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '昆山南',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '-',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '阳澄湖',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '-',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '苏州园区',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '-',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '苏州',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '-',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '苏州新区',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '-',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '无锡新区',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '-',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '无锡',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '-',
'VCH' : '10',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '惠山',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '-',
'QYH' : '10',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '戚墅堰',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '-',
'CZH' : '10',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
}, {
'od' : '常州',
'AOH' : '10',
'SHH' : '10',
'SXH' : '10',
'NEH' : '10',
'ASH' : '10',
'VQH' : '10',
'KNH' : '10',
'AIH' : '10',
'KAH' : '10',
'SZH' : '10',
'ITH' : '10',
'IFH' : '10',
'WXH' : '10',
'VCH' : '10',
'QYH' : '10',
'CZH' : '-',
'DYH' : '10',
'RUH' : '10',
'ZJH' : '10',
'BWH' : '10',
'XPH' : '10',
'NJH' : '10'
} ]
};