Roo.each(merge, function(c) {
var rc = _t.rangeToRC(c.textContent);
- //Roo.log(JSON.stringify(rc))
+ //Roo.log(JSON.stringify(rc));
if (typeof(_t.grid[rc[0].r][rc[0].c]) == 'undefined') {
- _t.grid[rc[0].r][rc[0].c] = Roo.applyIf({ r : rc[0].r, c : rc[0].c }, _t.defaultCell);
+ //Roo.log(["creating empty cell for ",rc[0].r, rc[0].c ]);
+ _t.createCell(rc[0].r, rc[0].c );
+ //_t.grid[rc[0].r][rc[0].c] = //Roo.applyIf({ r : rc[0].r, c : rc[0].c }, _t.defaultCell);
}
_t.grid[rc[0].r][rc[0].c].colspan = (rc[1].c - rc[0].c) + 1;
_t.grid[rc[0].r][rc[0].c].rowspan = (rc[1].r - rc[0].r) + 1;
for(var r = (rc[0].r); r < (rc[1].r+1); r++) {
- for(var c = rc[0].c; c < (rc[1].c+1); c++) {
+ for(var cc = rc[0].c; cc < (rc[1].c+1); cc++) {
//Roo.log('adding alias : ' + r+','+c);
- _t.grid[r][c] = _t.grid[rc[0].r][rc[0].c];
+ _t.grid[r][cc] = _t.grid[rc[0].r][rc[0].c];
}
}
for (var c = s.c; c < s.c1;c++) {
if (c > _t.cmax) continue;
- if (typeof(_t.grid[r][c]) == 'undefined') _t.grid[r][c] = Roo.applyIf({ r: r , c : c }, _t.defaultCell);
+ if (typeof(_t.grid[r][c]) == 'undefined') {
+ _t.createCell(r,c);
+ //_t.grid[r][c] = Roo.applyIf({ r: r , c : c }, _t.defaultCell);
+ }
var g=_t.grid[r][c];
if (typeof(g.cls) =='undefined') {
g.cls = [];
set : function(cell, v, vt, vf) {
var cs= typeof(cell) == 'string' ? this.toRC(cell) : cell;
- //Roo.log( cs.r+ ',' + cs.c + ' = '+ v);
+
+
+ Roo.log( cs.r+ ',' + cs.c + ' = '+ v);
// need to generate clell if it doe
if (typeof(this.grid[cs.r]) == 'undefined') {
- //Roo.log('no row:' + cell);
+ Roo.log('no row:' + cell);
this.grid[cs.r] = []; // create a row..
//return;
}
if (typeof(this.grid[cs.r][cs.c]) == 'undefined') {
- //Roo.log('cell not defined:' + cell);
+ Roo.log('cell not defined:' + cell);
this.createCell(cs.r,cs.c);
}
+ // cell might not be rendered yet... so if we try and create a cell, it overrides the default formating..
+
if (typeof(this.grid[cs.r][cs.c].dom) == 'undefined') {
- ///Roo.log('no default content for cell:' + cell);
- this.createCell(cs.r,cs.c);
+ Roo.log('no default content for cell:' + cell);
+ Roo.log(this.grid[cs.r][cs.c]);
+ //this.createCell(cs.r,cs.c);
//return;
}
this.grid[cs.r][cs.c].value= v;
- this.grid[cs.r][cs.c].dom.textContent= v;
+ if (this.grid[cs.r][cs.c].dom) {
+ this.grid[cs.r][cs.c].dom.textContent= v;
+ }
+
+
if (typeof(vt) != 'undefined') {
this.grid[cs.r][cs.c].valueType = vt;
this.grid[cs.r][cs.c].dom.setAttribute('ValueType', vt);
for (var r = 0; r < this.rmax;r++) {
out += '<tr style="height:'+this.rowInfo[r]+'px;">';
for (var c = 0; c < this.cmax;c++) {
- var g = (typeof(grid[r][c]) == 'undefined') ? defaultCell : grid[r][c];
+ if (typeof(grid[r][c]) == 'undefined') {
+ this.createCell(r,c);
+
+ }
+ var g = grid[r][c];
if (typeof(g.cls) =='undefined') g.cls = [];
var w= calcWidth(c,g.colspan);