| 
					
				 | 
			
			
				@@ -397,7 +397,39 @@ var dbController = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onEnterCell: function (sender, args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         args.sheet.repaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    editData: function (controller) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onButtonClicked: function (sender, info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (info.sheet.isEditing()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info.sheet.endEdit(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        debugger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const field = dbController.controller.setting.cols[info.col].data.field; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var node = dbController.controller.tree.items[info.row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (node && field === 'isBillBudget') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const isChecked = Boolean(info.sheet.getValue(info.row, info.col)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const allNodes = [node, ...node.getPosterity()]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const postData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            allNodes.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                postData.push({ ID: item.data.ID, [field]: isChecked }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            billsAjax.pasteBills(userAccount, billsLibId, postData, () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                allNodes.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const row = node.tree.items.indexOf(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (row >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        sheetBillsDatas.datasIdx['rowIdx' + row][field] = isChecked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        item.data[field] = isChecked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dbController.controller.refreshTreeNode(allNodes, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /* node.data[field] = isChecked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sheetBillsDatas.datasIdx['rowIdx' + info.row][field] = isChecked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            billsAjax.updateBills(userAccount, billsLibId, node.getID(), field, isChecked); */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    editData: function (controller, billsSpread) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        billsSpread.bind(GC.Spread.Sheets.Events.ButtonClicked, this.onButtonClicked); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         controller.sheet.bind(GC.Spread.Sheets.Events.EditStarting, this.onEditStart); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         controller.sheet.bind(GC.Spread.Sheets.Events.EditEnded, this.onEditEnded); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         controller.sheet.bind(GC.Spread.Sheets.Events.EnterCell, this.onEnterCell); 
			 |