顯示具有 getSelection 標籤的文章。 顯示所有文章
顯示具有 getSelection 標籤的文章。 顯示所有文章

2022年10月19日 星期三

V20107 - 取得目前 grid 選擇的資料 - Tmp_grid_D.getSelectionModel().getSelection(); - 目前資料 - cur_rec.data["WITM"].toString()

 V20107 - 取得目前 grid 選擇的資料 

處理說明:  1> var d_cur_recs = Ext.getCmp('grid_D').getSelectionModel().getSelection();   
                         var d_cur_rec = d_cur_recs[0];




1>*.js
//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)