日期:2014-05-17 浏览次数:20705 次
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); }