日期:2014-05-17 浏览次数:20890 次
function createSimpleTable(data, id) {
var option = {};
option.columns = [ [] ];//表头
var datas = {
"total" : data.respcount[0],
"rows" : []
};//数据
var avgW = 960 / data.field[0].length;
if (data.respcount[0] == 0) {
for ( var i = 0; i < data.field[0].length; i++) {
var field = {
field : 'q_' + i,
title : data.field[0][i],
width : avgW,
align : 'center'
};
option.columns[0].push(field);
}
} else {
for ( var j = 0; j < data.data.length; j++) {
var onerow = {};
for ( var i = 0; i < data.field[0].length; i++) {
if (j == 0) {
var field = {
field : 'q_' + i,
title : data.field[0][i],
width : avgW,
align : 'center',
sortable : true
};
option.columns[0].push(field);
}
var d = !isNaN(Number(data.data[j][i]))?Number(data.data[j][i]):data.data[j][i];
onerow['q_' + i] = d;
}
datas.rows.push(onerow);
}
}
$('#' + id).datagrid(option);//生成表头
$('#' + id).datagrid('loadData', datas);//生成数据
}
if (j == 0) {
var tmp = avgW; // 设个临时值
if (data.field[0][i].indexOf('时间') >=0 ) tmp = 100; // 按需修改
var field = {
field : 'q_' + i,
title : data.field[0][i],
width : tmp, // 改为该临时值
align : 'center',
sortable : true
};
option.columns[0].push(field);
}
------解决方案--------------------
用title判断不太好,因为是通用的,所以title很有可能包含时间两个文字,但是数据不是时间类型的,所以用正则判断数据是否符合时间类型可能更通用一些
借用LS的代码
vat regex = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/;
if (j == 0) {
var tmp = avgW; // 设个临时值
//if (data.field[0][i].indexOf('时间') >=0 ) tmp = 100; // 按需修改
if (regex.test(data.data[j][i])) tmp = 100;
var field = {
field : 'q_' + i,
title : data.field[0][i],
width : tmp, // 改为该临时值
align : 'center',
sortable : true
};
option.columns[0].push(field);
}