|
@@ -62,6 +62,7 @@ var coeList = {
|
|
|
|
|
|
me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onMainEnterCell);
|
|
|
me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onMainCellChanged);
|
|
|
+ me.mainSpread.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onMainRangeChanged);
|
|
|
|
|
|
me.detailSpread.getSheet(0).bind(GC.Spread.Sheets.Events.CellChanged, me.onDetailCellChanged);
|
|
|
},
|
|
@@ -122,11 +123,6 @@ var coeList = {
|
|
|
}else{
|
|
|
dSheet.setDataSource(dData);
|
|
|
me.showNullRow(dSheet);
|
|
|
-
|
|
|
-/* var lastData = dData[dData.length - 1];
|
|
|
- if (!$.isEmptyObject(lastData)){
|
|
|
- dSheet.addRows(dSheet.getRowCount(), 1);
|
|
|
- };*/
|
|
|
};
|
|
|
me.detailSpread.resumePaint();
|
|
|
},
|
|
@@ -149,7 +145,6 @@ var coeList = {
|
|
|
me.detailSpread.getSheet(0).setDataSource(me.datas[row].coes);
|
|
|
me.detailSpread.resumePaint();
|
|
|
var sheet = me.mainSpread.getSheet(0);
|
|
|
- //sheet.addRows(sheet.getRowCount(), 1);
|
|
|
me.showNullRow(sheet);
|
|
|
}
|
|
|
else{ // 正常修改
|
|
@@ -157,6 +152,15 @@ var coeList = {
|
|
|
};
|
|
|
},
|
|
|
|
|
|
+ onMainRangeChanged: function(sender, args) {
|
|
|
+ if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
|
+ if (!confirm('确定要删除本条数据吗?')){ args.cancel = true; return; }
|
|
|
+ var me = coeList;
|
|
|
+ args.sheet.deleteRows(args.row, 1);
|
|
|
+ alert(JSON.stringify(me.datas));
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
onDetailCellChanged: function(sender, args) {
|
|
|
if (args.propertyName !== "value"){return;};
|
|
|
|
|
@@ -165,11 +169,14 @@ var coeList = {
|
|
|
var detailRow = args.sheet.getActiveRowIndex();
|
|
|
var detailDatas = me.datas[mainRow].coes;
|
|
|
var curDetailData = detailDatas[detailRow];
|
|
|
- var curType = curDetailData.coeType;
|
|
|
- if (curType !== '单个'){
|
|
|
- me.detailSpread.suspendPaint();
|
|
|
- curDetailData.gljID = null;
|
|
|
- me.detailSpread.resumePaint();
|
|
|
+
|
|
|
+ if (curDetailData !== undefined){ // 如果是空白行输入,curDetailData为undefined。
|
|
|
+ var curType = curDetailData.coeType;
|
|
|
+ if (curType !== '单个'){
|
|
|
+ me.detailSpread.suspendPaint();
|
|
|
+ curDetailData.gljID = null;
|
|
|
+ me.detailSpread.resumePaint();
|
|
|
+ };
|
|
|
};
|
|
|
|
|
|
/* var curType = args.sheet.getValue(detailRow, 0);
|
|
@@ -183,6 +190,7 @@ var coeList = {
|
|
|
//args.sheet.getCell(row, 1).backColor("Blue");
|
|
|
};*/
|
|
|
|
|
|
+
|
|
|
var obj = me.datas[mainRow];
|
|
|
me.save([],[],[obj]);
|
|
|
|
|
@@ -191,19 +199,36 @@ var coeList = {
|
|
|
|
|
|
showNullRow: function(sheet){
|
|
|
var datas = sheet.getDataSource();
|
|
|
+ //alert('004: datas.length: ' + datas.length + ', sheet.getRowCount: ' + sheet.getRowCount());
|
|
|
var lastData = datas[datas.length - 1];
|
|
|
if (!$.isEmptyObject(lastData)){
|
|
|
sheet.addRows(sheet.getRowCount(), 1);
|
|
|
+ //alert('005: datas.length: ' + datas.length + ', sheet.getRowCount: ' + sheet.getRowCount());
|
|
|
};
|
|
|
},
|
|
|
|
|
|
save: function(addArr, deleteArr, updateArr) {
|
|
|
- alert('触发了save');
|
|
|
var me = coeList;
|
|
|
+
|
|
|
+ //var addArrTemp = [];
|
|
|
+ //var deleteArrTemp = [];
|
|
|
+ var updateArrTemp = [];
|
|
|
+
|
|
|
+ // 空行会产生空对象数据,清理空对象会给sheet的空行效果带来奇怪的干扰,这里要中转一下。
|
|
|
+ if (updateArr.length > 0){
|
|
|
+ $.extend(true, updateArrTemp, updateArr);
|
|
|
+ //debug.d('011: ', updateArrTemp);
|
|
|
+ //debug.d('012: ', updateArr);
|
|
|
+ deleteEmptyObject(updateArrTemp[0].coes);
|
|
|
+ //debug.d('013: ', updateArrTemp);
|
|
|
+ //debug.d('014: ', updateArr);
|
|
|
+ //return;
|
|
|
+ };
|
|
|
+
|
|
|
$.ajax({
|
|
|
type:"POST",
|
|
|
url:"api/saveCoeList",
|
|
|
- data: {"data": JSON.stringify({"addArr": addArr, "deleteArr": deleteArr, "updateArr": updateArr})},
|
|
|
+ data: {"data": JSON.stringify({"addArr": addArr, "deleteArr": deleteArr, "updateArr": updateArrTemp})},
|
|
|
dataType:"json",
|
|
|
cache:false,
|
|
|
timeout:5000,
|