DataObjects/Core_watch.php
[Pman.Core] / Pman.Gnumeric.js
index 664f7b2..8f064d4 100644 (file)
@@ -311,17 +311,19 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
 
         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];
                }
            }
             
@@ -380,7 +382,10 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
                 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 = [];
@@ -542,13 +547,19 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
             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);
+            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;
@@ -1361,7 +1372,11 @@ Roo.extend(Pman.Gnumeric, Roo.util.Observable, {
         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') ? this.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);