|  | @@ -67,11 +67,39 @@ var TREE_SHEET_HELPER = {
 | 
	
		
			
				|  |  |              setting.cols.forEach(function (colSetting, iCol) {
 | 
	
		
			
				|  |  |                  var iRow = node.serialNo();
 | 
	
		
			
				|  |  |                  var cell = sheet.getCell(iRow, iCol, GC.Spread.Sheets.SheetArea.viewport);
 | 
	
		
			
				|  |  | -                if (node.data[colSetting.data.field]) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                var getFieldText = function () {
 | 
	
		
			
				|  |  | +                    var fields = colSetting.data.field.split('.');
 | 
	
		
			
				|  |  | +                    var validField = fields.reduce(function (field1, field2) {
 | 
	
		
			
				|  |  | +                        if (eval('node.data.' + field1)) {
 | 
	
		
			
				|  |  | +                            return field1 + '.' + field2
 | 
	
		
			
				|  |  | +                        } else {
 | 
	
		
			
				|  |  | +                            return field1;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    if (eval('node.data.' + validField)) {
 | 
	
		
			
				|  |  | +                        return eval('node.data.' + validField);
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        return '';
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                var getFieldText2 = function () {
 | 
	
		
			
				|  |  | +                    var fields = colSetting.data.field.split('.'), iField, data = node.data;
 | 
	
		
			
				|  |  | +                    for (iField = 0; iField < fields.length; iField++) {
 | 
	
		
			
				|  |  | +                        if (data[fields[iField]]) {
 | 
	
		
			
				|  |  | +                            data = data[fields[iField]];
 | 
	
		
			
				|  |  | +                        } else {
 | 
	
		
			
				|  |  | +                            return '';
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    return data;
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                cell.value(getFieldText2());
 | 
	
		
			
				|  |  | +                /*if (node.data[colSetting.data.field]) {
 | 
	
		
			
				|  |  |                      cell.value(node.data[colSetting.data.field]);
 | 
	
		
			
				|  |  |                  } else {
 | 
	
		
			
				|  |  |                      cell.text('');
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | +                }*/
 | 
	
		
			
				|  |  |                  sheet.setTag(iRow, iCol, node.getID());
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |              if (recursive) {
 |