/**
* 时间对象的格式化;*/Date.prototype.format=function(format) {/** eg:format="yyyy-MM-dd hh:mm:ss";*/varo={"M+":this.getMonth()+1,//month"d+":this.getDate(),//day"h+":this.getHours(),//hour"m+":this.getMinutes(),//minute"s+":this.getSeconds(),//second"q+": Math.floor((this.getMonth()+3)/3),//quarter"S":this.getMilliseconds()//millisecond}if(/(y+)/.test(format)) {
format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4-RegExp.$1.length));
}for(varkino) {if(newRegExp("("+k+")").test(format)) {
format=format.replace(RegExp.$1, RegExp.$1.length==1?o[k]
: ("00"+o[k]).substr((""+o[k]).length));
}
}returnformat;
}//parse a date in yyyy-mm-dd formatfunctionparseDate(input) {varparts=input.match(/(\d+)/g);//new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])returnnewDate(parts[0], parts[1]-1, parts[2]);//months are 0-based}
$(document).ready(function(){varchartdata=[
{"id":"2012-12-01",
date:newDate("2012-12-01"),"field":2,"tableStartName":67,"name":42,"elementProperty":75,"value":45,"group":48,"key":23},
{"id":"2012-12-02",
date:newDate("2012-12-02"),"field":87,"tableStartName":62,"name":91,"elementProperty":18,"value":38,"group":50,"key":20},
{"id":"2012-12-03",
date:newDate("2012-12-03"),"field":25,"tableStartName":73,"name":26,"elementProperty":63,"value":104,"group":85,"key":61},
{"id":"2012-12-04",
date:newDate("2012-12-04"),"field":71,"tableStartName":111,"name":31,"elementProperty":30,"value":100,"group":53,"key":26},
{"id":"2012-12-05",
date:newDate("2012-12-05"),"field":20,"tableStartName":70,"name":22,"elementProperty":56,"value":23,"group":32,"key":58}
]
;vardata=eval(chartdata);
rows=data.length;//除Id外的属性长度columns=getJsonLength(data[0]);
$("#gridChart").handsontable({
startRows:40,
startCols:40,
rowHeaders:false,
colHeaders:true,
minSpareCols:1,
minSpareRows:1,
colHeaders: ["柱1","柱2","柱3","柱4","柱5","柱6","柱7"],
columns: [
{data:"field"},
{data:"tableStartName"},
{data:"name"},
{data:"elementProperty"},
{data:"value"},
{data:"group"},
{data:"key"}
]
});
$("#gridChart").handsontable("loadData", data);
});//获取json对象的长度functiongetJsonLength(jsonData){varjsonLength=0;for(variteminjsonData){
jsonLength++;
}returnjsonLength;
}functionSerializeJsonToStr(oJson) {if(typeof(oJson)==typeof(false)) {returnoJson;
}if(oJson==null) {return"null";
}if(typeof(oJson)==typeof(0))returnoJson.toString();if(typeof(oJson)==typeof('')||oJsoninstanceofString) {
oJson=oJson.toString();
oJson=oJson.replace(/\r\n/, '\\r\\n');
oJson=oJson.replace(/\n/, '\\n');
oJson=oJson.replace(/\"/, '\\"');return'"' + oJson + '"';
}if( oJsoninstanceofDate) {return"parseDate('"+oJson.format("yyyy-MM-dd")+"')";
}if( oJsoninstanceofArray) {varstrRet="[";for(vari=0; i1){
strRet+=",";
}
strRet+=value;
}
}
strRet+="]";returnstrRet;
}if(typeof(oJson)==typeof( {})) {varstrRet="{";varrowFlag=false;for(varpinoJson) {if(strRet.length>1)
strRet+=",";varvalue=SerializeJsonToStr(oJson[p]);if(value!=null&&value!="null"){
strRet+='"' + p.toString() + '":'+value ;
rowFlag=true;
}
}
strRet+="}";if(!rowFlag){return"null";
}returnstrRet;
}
}//对话框确定按钮functionok(){var$container=$("#gridChart");varhandsontable=$container.data('handsontable');vardata=handsontable.getData();varjson=SerializeJsonToStr(data);//多次多行替换//json = json.replace(new RegExp(',{}','gm') ,"");//json = json.replace(new RegExp('"parseDate(','gm') ,"parseDate(");//json = json.replace(new RegExp(')",','gm') ,"),");alert(json);varchartData=eval('('+json+')');returnchartData;
}functionfilterNull(key,value){if(value==null){return;
}if(key=="date"){//返回格式化日期//return parseDate(value.replace(new RegExp('T00:00:00.000Z','gm') ,""));}returnvalue;
}