/** * Created by chen on 2017/8/1. */ var subRateObject={ views:null, datas:null, valueMap:null, canEdit:true, subRateSpread:null, subRateSheet:null, subRateSetting:{ header: [ {headerName: "参数名称", headerWidth: 110, dataCode: "name", dataType: "String"}, {headerName: "参数值", headerWidth: 150, dataCode: "optionValue", dataType: "String",getText:'forOption'} ], view: { lockColumns: [0] }, getText:{ forOption:function (item,val) { let o = _.find(item.optionList,{'selected':true}); return o?o.value:''; } } }, columns: [ { id: 'name', caption: '参数名称', dataField: 'name', width: 250, allowEditing: false }, { id: 'typeName', caption: '参数值', dataField: 'typeName', width: 200, minWidth: 50, allowEditing: true, presenter:'
' }, { id: 'ID', caption: 'ID', dataField: 'ID', width: 80, visible: false, allowEditing: false } ], options :{ allowSorting: false, showRowHeader: true, colMinWidth: 80, rowHeight: 33, allowEditing: this.canEdit, editMode: 'inline', editUnit: 'cell', selectionUnit:(this.canEdit == true) ? "cell" : "row" }, createSpreadView:function () { if (this.views) { this.views.destroy(); this.views = null; } this.views = new GC.Spread.Views.DataView($('#subRate')[0], this.datas, this.columns, new GC.Spread.Views.Plugins.GridLayout(this.options)); this.views["rowDbClick"].addHandler(function () { console.log('hh') }); this.views.invalidate(); document.querySelector('#subRate').focus(); this.addComboboxOption(this.datas); }, reFreshRateViews:function(sender,args) { subRateObject.datas = projectObj.project.FeeRate.getSubViewData(args.item); subRateObject.valueMap=projectObj.project.FeeRate.getValueMap(args.item); subRateObject.createSpreadView(); }, initSubRateSpread:function (item) { if(this.subRateSpread == null){ this.subRateSpread = SheetDataHelper.createNewSpread($("#subRate")[0]); this.subRateSheet = this.subRateSpread.getSheet(0); sheetCommonObj.initSheet(this.subRateSheet, this.subRateSetting, 30); this.subRateSheet.bind(GC.Spread.Sheets.Events.SelectionChanged, this.onSubRateSelectChanged); this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, this.onSubRateValueChange); //this.subRateSheet.bind(GC.Spread.Sheets.Events.ValueChanged, me.onSheetValueChange); this.subRateSheet.name('subRateSheet'); } subRateObject.datas = projectObj.project.FeeRate.getSubViewData(item); subRateObject.valueMap=projectObj.project.FeeRate.getValueMap(item); subRateObject.showSubRateData(); disableRightMenu("subRate",this.subRateSpread); }, showSubRateData:function () { this.subRateSheet.setRowCount(0); sheetCommonObj.showData(this.subRateSheet, this.subRateSetting, this.datas); this.subRateSheet.setRowCount(this.datas.length); for(let row =0; row < this.datas.length;row++){ this.setComboOptionCell(row,1,this.datas[row],this.subRateSheet); } }, onSubRateSelectChanged:function (e,info) { info.sheet.repaint(); }, setComboOptionCell:function(row,col,subRate,sheet){ let options=[]; for(let op of subRate.optionList){ options.push({text:op.name,value:op.value}); } let dynamicCombo = sheetCommonObj.getDynamicCombo();//new GC.Spread.Sheets.CellTypes.ComboBox(); dynamicCombo.items(options); dynamicCombo.editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value); sheet.setCellType(row, col, dynamicCombo, GC.Spread.Sheets.SheetArea.viewport); }, addComboboxOption:function (datas) { // _.forEach(datas,function (item) { var selectvalue = 0; _.forEach(item.optionList,function (o) { var option = $("