//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;
}
{
// read the first row.
var tds = Roo.get(table).select('tr').item(0).select('td');
- var nc = 0;
- tds.each(function(td) {
- var cs = td.dom.getAttribute('colspan');
- cs = cs ? cs * 1 : 1;
- nc += cs;
+ var maxnc = 0
+
+ Roo.get(table).select('tr').each(function(trs) {
+ var nc = 0;
+
+ trs.select('td').each(function(td) {
+ var cs = td.dom.getAttribute('colspan');
+ cs = cs ? cs * 1 : 1;
+ nc += cs;
+ });
+ maxnc = Math.max(nc, maxnc);
});
+
var tr = document.createElement('tr');
table.appendChild(tr);
var ar = {}
- for (i =0; i < nc; i++) {
+ for (i =0; i < maxnc; i++) {
ar[i] = document.createElement('td');
tr.appendChild(ar[i]);
}
// find the left.
- var ret = { cols : nc, pos : {} };
- for (i =0; i < nc; i++) {
+ var ret = { cols : maxnc, pos : {} };
+ for (i =0; i < maxnc; i++) {
ret.pos[ Roo.get(ar[i]).getLeft()] =i;
}
ret.near = function(p) {
// which one is nearest..
+
+ if (this.pos[p]) {
+ return this.pos[p];
+ }
var prox = 100000;
var match = 0;
for(var i in this.pos) {
var rcs = [];
ar = ar.slice(0,3);
Roo.each(ar, function(c) {
- rcs.push((c).toString(16) + (c).toString(16)) ;
+ rcs.push((c*c).toString(16)) ;
});
return rcs.join(':');
this.sheet.insertBefore(merges,sl);
} else {
merges = merges[0];
- }
+ }
merges.appendChild(cell);
},