V20107 - 取得目前 grid 選擇的資料
處理說明: 1> var d_cur_recs = Ext.getCmp('grid_D').getSelectionModel().getSelection();
var d_cur_rec = d_cur_recs[0];
var d_cur_rec = d_cur_recs[0];
//Detail.Detail 存檔處理
//存檔時,myform_D 自動設定欄位值 : PK,
var D1_buttonModel = Ext.create('G_D_buttonModel');
var Tmp_grid_D1 = Ext.getCmp('grid_D1');
console.log(" Tmp_grid_D1: ", Tmp_grid_D1);
if (!checkisnull(Tmp_grid_D1)) {
console.log(" 2 Ext.getCmp(grid_D1).beforeShowForm ");
Ext.getCmp('grid_D1').beforeShowForm = function () {
//要判斷 buttonModel 的編輯模式時, 才即時去抓 modelType
var D1_modelType = D1_buttonModel.getModelType();
console.log("beforeShowForm D1_modelType=", D1_modelType);
//若非[新增]模式,則不設定欄位值
if (!(D1_modelType == 1))
return true;
//設定 Master.MITM & WITM 欄位值
var Tmp_MITM = Ext.getCmp('MITM').getValue();
Ext.getCmp('d1_MITM').setValue(Tmp_MITM);
var d_cur_recs = Ext.getCmp('grid_D').getSelectionModel().getSelection();
if (d_cur_recs.length == 0) {
mywarnalert("請先選擇要編輯的Detail資料");
return false;
}
else {
var d_cur_rec = d_cur_recs[0];
var Tmp_WITM = d_cur_rec.data['WITM'].toString();
Ext.getCmp('d1_WITM').setValue(Tmp_WITM);
var Tmp_DDITM = get_NEXT_DDITM(Tmp_MITM, Tmp_WITM);
Ext.getCmp('d1_DDITM').setValue(Tmp_DDITM);
return true;
} // end of else{
} // end of Ext.getCmp('grid_D1').beforeShowForm
} // end of if (!checkisnull(Tmp_grid_D1))
//取得 DDITM 的下一編號 , 傳入 MITM,WITM
// Master.[修改], Detail 新增多筆時, 並未寫回資料庫 , 所以 MAX(WITM)不可取資料庫
//直接由 前端取 MAX(WITM)
function get_NEXT_DDITM(par_MITM,par_WITM) {
var Tmp_MAX_DDITM = 0;
var Tmp_NEXT_DDITM = 0;
var Tmp_d1_store = Ext.getCmp("grid_D1").store;
console.log("Tmp_d1_store:", Tmp_d1_store);
console.log("Tmp_d1_store.getCount():", Tmp_d1_store.getCount());
var Tmp_cur_DDITM = 0;
for (let i = 0; i < Tmp_d1_store.getCount(); i++) {
console.log("Tmp_d1_store.data.items[i].data[WITM]:", Tmp_d1_store.data.items[i].data["WITM"]);
Tmp_cur_DDITM = Number(Tmp_d1_store.data.items[i].data["DDITM"]);
console.log("Tmp_cur_DDITM:", Tmp_cur_DDITM);
if (Tmp_cur_DDITM > Tmp_MAX_DDITM)
Tmp_MAX_DDITM = Tmp_cur_DDITM;
console.log("Tmp_MAX_DDITM:", Tmp_MAX_DDITM);
} // end of for
Tmp_NEXT_DDITM = Tmp_MAX_DDITM + 1;
return Tmp_NEXT_DDITM;
} // end of function string get_NEXT_WITM(Tmp_MITM)