Easyui DataGrid Editor

与下拉框执行顺序, 1. onClickRow  2. Combobox onSuccess  3. Combobox onBeforLoad  4. Combobox onSuccess  5. 继续执行onClickRow方法

  1         function loadDropdown(){
  2             $.ETDropDown.combobox('#add_Shipment_id', { url: ddUrl+'?method=GetShipmentNumberDD&i_e_flag=I',
  3                                                                          mode: 'remote',
  4                                                                          valueField: 'SHIPMENT_ID',
  5                                                                          textField: 'SHIPMENT_ID',
  6                                                                          onSelect:function(record){
  7                                                                             loadImportTable(record.SHIPMENT_ID);
  8                                                                          }
  9                                                       });
 10             setTimeout(function(){
 11                 $.ETDropDown.combobox('#ex_Shipment_Id', { url: ddUrl+'?method=GetShipmentNumberDD&i_e_flag=E',
 12                                                                          mode: 'remote',
 13                                                                          valueField: 'SHIPMENT_ID',
 14                                                                          textField: 'SHIPMENT_ID',
 15                                                                          onSelect:function(record){
 16                                                                             loadExportTable(record.SHIPMENT_ID);
 17                                                                          }
 18                                                          });
 19             },180);
 20             
 21             $.ajaxSyn(ddUrl+"?method=GetRewardSchemaDD",'',function(val){
 22                 if($.Message.validateRtnValue(val))
 23                 {
 24                     if(val)
 25                         sRewardSchemaData = JSON.parse(val);
 26                 }
 27             });
 28         }
 29 
 30         function buildImportTbl(){
 31             var AAComboOptions = {
 32                 valueField:'AA_ID',
 33                 textField:'LICENCE_NUMBER',
 34                 url:ddUrl+'?method=GetAADD',
 35                 onBeforeLoad: function(param){
 36                     var oRecord = importTblObj.datagrid('getSelected');
 37                     if(oRecord){
 38                         param.PART_NUMBER = oRecord.PART_NUMBER;
 39                     }
 40                 }
 41             }
 42             
 43             var EPCGComboOptions = {
 44                 valueField:'EPCG_ID',
 45                 textField:'AUTHORIZATION_NUMBER',
 46                 url:ddUrl+'?method=GetEPCGDD',
 47                 onBeforeLoad: function(param){
 48                     var oRecord = importTblObj.datagrid('getSelected');
 49                     if(oRecord){
 50                         param.PART_NUMBER = oRecord.PART_NUMBER;
 51                     }
 52                 }
 53             }
 54             
 55             importTblObj = $('#tbl_I_Port').datagrid({
 56                 title: 'Import',
 57                  1020,
 58                 height: 425,
 59                 singleSelect: true  ,
 60                 nowrap: false,
 61                 collapsible: true,
 62                 striped: true,
 63                 border: false,
 64                 pageNumber: 1,
 65                 pageSize: 10,
 66                 pageList: [10, 15, 20],
 67                 columns: [[
 68                     { field: 'ck',checkbox: true },
 69                     {field: 'INVOICE_NUMBER',title: 'Invoice', 100,align: 'left'},
 70                     {field: 'PART_NUMBER',title: 'Part #', 100,align: 'left'},
 71                     {field: 'DESCRIPTION_EN',title: 'Description', 150,align: 'left'},
 72                     {field: 'QUANTITY',title: 'Invoice Qty', 80,align: 'right'},
 73                     {field: 'QTY',title: 'Declaration Qty', 100,align: 'right',editor:'numberbox'},
 74                     {field: 'UNIT_OF_MEASURE',title: 'UOM', 60,align: 'left'},
 75                     {field: 'SUGGEST_AA',title: 'Suggest A/A', 90,align: 'left'},
 76                     {field: 'AA',title: 'A/A', 100,align: 'left',editor:{type:'combobox',options:AAComboOptions}},
 77                     {field: 'EPCG',title: 'EPCG', 100,align: 'left',editor:{type:'combobox',options:EPCGComboOptions}},
 78                     {field: 'AVAILABLE_QTY',title: 'Available Qty', 90,align: 'right'},
 79                     {field: 'REWARD',title: 'Reward Schema', 120,align: 'right',editor:{type:'combobox',options:{valueField:'REWARD_SCHEMA_NUMBER',textField:'REWARD_SCHEMA_NUMBER',data:sRewardSchemaData}}}
 80                 ]],
 81                 pagination: true,
 82                 onLoadError: function (err) { $.Message.validateRtnValue(err.responseText) },
 83                 toolbar: '#tb1',
 84                 onClickRow: onClickRow
 85             });
 86         }
 87         
 88         //查询
 89         function loadImportTable(key) {
 90             var url = sAjaxUrl + '?method=GetShipmentInvoiceTableData';
 91             var fnSuccess = function(val){
 92                 if($.Message.validateRtnValue(val)){
 93                     var dataObj = JSON.parse(val);
 94                     importTblObj.datagrid('loadData',dataObj);
 95                 }
 96             }
 97             
 98             $.ajaxAsyn(url, {SHIPMENT_ID:key}, fnSuccess);
 99         }
100         function loadExportTable(key) {
101             var url = sAjaxUrl + '?method=GetShipmentInvoiceTableData';
102             var fnSuccess = function(val){
103                 if($.Message.validateRtnValue(val)){
104                     var dataObj = JSON.parse(val);
105                     exportTblObj.datagrid('loadData',dataObj);
106                 }
107             }
108             
109             $.ajaxAsyn(url, {SHIPMENT_ID:key}, fnSuccess);
110         }
111         
112         function buildExportTbl(key){
113             exportTblObj = $('#tbl_E_Port').datagrid({
114                 title: 'Export',
115                  1020,
116                 height: 415,
117                 singleSelect: true  ,
118                 nowrap: false,
119                 collapsible: true,
120                 striped: true,
121                 border: false,
122                 pageNumber: 1,
123                 pageSize: 10,
124                 pageList: [10, 15, 20],
125                 url:sAjaxUrl + '?method=GetShipmentInvoiceTableData&shipment_id='+key,
126                 columns: [[
127                     { field: 'ck',checkbox: true },
128                     {field: 'INVOICE_NUMBER',title: 'Invoice', 100,align: 'left'},
129                     {field: 'PART_NUMBER',title: 'Part #', 100,align: 'left'},
130                     {field: 'DESCRIPTION_EN',title: 'Description', 150,align: 'left'},
131                     {field: 'QUANTITY',title: 'Invoice Qty', 80,align: 'right'},
132                     {field: 'QTY',title: 'Declaration Qty', 120,align: 'right',editor:'numberbox'},
133                     {field: 'UNIT_OF_MEASURE',title: 'UOM', 80,align: 'left'},
134                     {field: 'SUGGEST_AA',title: 'Suggest A/A', 100,align: 'left'},
135                     {field: 'AA',title: 'A/A', 100,align: 'left',editor:'combobox'},
136                     {field: 'EPCG',title: 'EPCG', 100,align: 'left',editor:'combobox'},
137                     {field: 'AVAILABLE_QTY',title: 'Available Qty', 120,align: 'right'},
138                     {field: 'REWARD',title: 'Reward Schema', 130,align: 'right',editor:'combobox'}
139                 ]],
140                 pagination: true,
141                 onLoadError: function (err) { $.Message.validateRtnValue(err.responseText) },
142                 toolbar: '#tb2'
143             });
144         }
145         
146         function generateBillOfEntry(){
147             
148         }
149         
150         function generateShippingBill(){
151             
152         }
153         
154         function deleteBOERow(){
155             
156         }
157         
158         function deleteSBRow(){
159             
160         }
161         
162         
163         //Start Editing Tables Script
164         var editIndex = undefined;
165         function endEditing() {
166             if (editIndex == undefined) { return true;
167             }
168             if (importTblObj.datagrid('validateRow', editIndex)) {
169 
170                 importTblObj.datagrid('endEdit', editIndex);
171                 editIndex = undefined;
172                 return true;
173             } else {
174                 return false;
175             }
176         }
177         function onClickRow(index) {
178             if (editIndex != index) {
179                 importTblObj.datagrid('loading');
180                 if (endEditing()) {
181                     importTblObj.datagrid('selectRow', index)
182                             .datagrid('beginEdit', index);
183                     editIndex = index;
184                 } else {
185                     importTblObj.datagrid('selectRow', editIndex);
186                 }
187                 $('.datagrid-editable-input').select();
188                 
189                 setTimeout(function(){importTblObj.datagrid('loaded');},300); 
190             }
191         }
View Code
原文地址:https://www.cnblogs.com/kkwoo/p/4156339.html