/* Product Name: dhtmlxSuite Version: 5.2.0 Edition: Professional License: content of this file is covered by DHTMLX Commercial or Enterprise license. Usage without proper license is prohibited. To obtain it contact sales@dhtmlx.com Copyright UAB Dinamenta http://www.dhtmlx.com */ dhtmlXGridObject.prototype._process_json_row=function(r, data){ r._attrs=data; for (var j = 0; j < r.childNodes.length; j++)r.childNodes[j]._attrs={ }; if (data.userdata) for (var a in data.userdata) this.setUserData(r.idd,a,data.userdata[a]); data = this._c_order?this._swapColumns(data.data):data.data; for (var i=0; i 0) this.clearAll(true); var sets = [ [], [], [], [], [], [], [],[],[] ]; var attrs = ["value", "width", "type", "align", "sort", "color", "format", "hidden", "id"]; var calls = ["", awidthmet, "setColTypes", "setColAlign", "setColSorting", "setColumnColor", "", "", "setColumnIds"]; for (var i = 0; i < headCol.length; i++) for (var j = 0; j < attrs.length; j++) sets[j].push(headCol[i][attrs[j]]); this.setHeader(sets[0]); for (var i = 0; i < calls.length; i++) if (calls[i]) this[calls[i]](sets[i].join(this.delim)); for (var i = 0; i < headCol.length; i++){ var options = headCol[i].options if (headCol[i].options){ if (this.cellType[i] == "clist"){ this.registerCList(i, options); } else { var combo = this.getCombo(i); for (var j = 0; j < options.length; j++) combo.put(options[j].id, options[j].value); } } else { if (sets[6][i]) if ((this.cellType[i].toLowerCase().indexOf("calendar")!=-1)||(this.fldSort[i] == "date")) this.setDateFormat(sets[6][i]); else this.setNumberFormat(sets[6][i], i); } } this.init(); var param=sets[7].join(this.delim); //preserving state of hidden columns, if not specified directly if (this.setColHidden && param.replace(/,/g,"")!="") this.setColHidden(param); if ((split)&&(this.splitAt)) this.splitAt(split); }; dhtmlXGridObject.prototype._process_json=function(data, mode){ this._parsing=true; try { var data = data.responseText || data; if (typeof data == "string"){ eval("dhtmlx.temp="+data+";"); data = dhtmlx.temp; } } catch(e){ dhx4.callEvent("onLoadXMLError", ["Incorrect JSON", (data.xmlDoc||data), this ]); data = {rows:[]}; } if (this._refresh_mode) return this._refreshFromJSON(data); if (data.head) this._parseHeadJson(data); this._parseOptionsJson(data); var cr = parseInt(data.pos||0); var total = parseInt(data.total_count||0); var reset = false; if (total){ if (!this.rowsBuffer[total-1]){ if (this.rowsBuffer.length) reset=true; this.rowsBuffer[total-1]=null; } if (total