function DataSet(json) { this._parameters = {};//参数 this._headers = {};//题头 this._rowsets = {};//数据集合 this._init = function() { if(json != null) { this._parameters = json["parameters"]; this._headers = json["headers"]; var rowsetData = json["rowsets"]; for(var rowsetName in rowsetData) { this._rowsets[rowsetName] = new RowSet(rowsetData[rowsetName]); } } } this.append = function(dc) { var headers = dc.getHeaders(); for(var tempHeaderId in headers) { this._headers[tempHeaderId] = headers[tempHeaderId]; } var parameters = dc.getParameters(); for(var tempParameterId in parameters) { this._parameters[tempParameterId] = parameters[tempParameterId]; } var rowSets = dc.getRowSets(); for(var tempRowSetId in rowSets) { this._rowsets[tempRowSetId] = new RowSet(rowSets[tempRowSetId].getData()); } } this.setParameter = function(name,value) { this._parameters[name] = value; } this.removeParameter = function(name) { delete this._parameters[name]; } this.setHeader = function(name,value) { this._headers[name] = value; } this.removeHeader = function(name) { delete this._headers[name]; } this.getHeader = function(name) { return this._headers[name]; } this.getHeaders = function() { return this._headers; } this.getParameter = function(name) { return this._parameters[name]; } this.getParameters = function() { return this._parameters; } this.setParameters = function(parameters) { this._parameters = parameters; } this.addRowSet = function(rowSet) { this._rowsets[rowSet.getName()] = rowSet; } this.getRowSets = function() { return this._rowsets; } this.removeRowSet = function(name) { delete this._rowsets[name]; } this.getRowSet = function(name) { return this._rowsets[name] || new RowSet(); } //转换成json数据 this.clone = function() { var obj = {} obj["parameters"] = this._parameters; obj["rowsets"] = this._getRowSetData(); obj["headers"] = this._headers; return obj; } this._getRowSetData = function() { var obj = {}; for(var rowsetName in this._rowsets) { obj[rowsetName] = this._rowsets[rowsetName].getData(); } return obj; } this._init(); }