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

2023年9月4日 星期一

V120602 – [備註說明]欄位(textArea) – 顯示在Template下方,獨立顯示,不在Template內 - selectionchange -設定[備註]欄位值

 目的: 1>V120602 – [備註說明]欄位(textArea) – 顯示在Template下方,獨立顯示,不在Template

                      2> 資料切換至下一筆資料時,顯示新的欄位值

處理說明:   1> 新增 Panel,region: ‘south’, layout: {type:’vbox’,align: ‘stretch’},items:[欄位1,欄位2],
                    2> TMGrid.selectionchange event , 設定欄位值


1>*.js
1>>新增下方備註欄位 Panel
 var viewport = Ext.create('Ext.container.Viewport', {
        layout: 'border',
        items: [{
            region: 'center',
            layout: 'fit',
            //autoScroll: true,
            flex: 2,
            border: false,
            items: [TMSingleViewEdit,]
        },
            Tmp_Descript_Panel,
        ]
    });

 var Tmp_Descript_Panel = Ext.create("Ext.Panel", {
        region: 'south',
        layout: { type: 'vbox', align: 'stretch' },
        title: "說明Panel",
        height: 150,
        items: [
            Tmp_DFDCPTN,
            Tmp_STATDCPTN,
        ]
    })

  var Tmp_DFDCPTN = get_cmp_txtarea1("缺失說明", "f_DFDCPTN", 80, 600,10);
  var Tmp_STATDCPTN = get_cmp_txtarea1("進度說明", "f_STATDCPTN", 80, 600, 10);

2>資料切換時,顯示欄位值 - selectionchange event
        Ext.getCmp('grid_Single').on('selectionchange', function (par_model, par_selected, par_opts) {
        if (par_selected.length > 0) {
            var cur_DFDCPTN = par_selected[0].data["DFDCPTN"];
            var cur_STATDCPTN = par_selected[0].data["STATDCPTN"];
            Ext.getCmp("f_DFDCPTN").setValue(cur_DFDCPTN);
            Ext.getCmp("f_STATDCPTN").setValue(cur_STATDCPTN);
        }
         else {  //若無資料,則 欄位值空白
            Ext.getCmp("f_DFDCPTN").setValue("");
            Ext.getCmp("f_STATDCPTN").setValue("");
        }

2022年10月27日 星期四

V20107 – 若有新增/修改, 則 MD不可再跳到其他筆資料 - selectionchange - beforedeselect

 目的: V20107 – 編輯 – MDD – 子步序說明 若有新增/修改, MD不可再跳到其他筆資料

處理說明:  1>判斷 MDD- grid_D1 是否有異動資料
                       if (Ext.getCmp('grid_D1').store.tempData.length > 0) {
                       }
                    2>在 grid_D 的 beforedeselect event (目前選擇的資料 deselect 時)
                        判斷 grid_D1 是否有異動資料, 若有,則不允許選擇( return false)
                       Ext.getCmp('grid_D').on("beforedeselect", function (me, record, index, eOpts) {
                      })

                    



1>*.js
 Ext.getCmp('grid_D').on("beforedeselect", function (me, record, index, eOpts) {
        //若 M-D-D(grid_D1) 已有新增/修改/刪除,則不允許 grid_D 跳至另一筆資料
        if (Ext.getCmp('grid_D1').store.tempData.length > 0) {
            var Tmp_Str = "";            
            Tmp_Str = Tmp_Str+"子步序說明的資料已有異動<br>"
                + " 不可移動至另一工作步序說明<br>"
                + "請先按[存檔]鈕<br>"
                + "再移動步序說明";
            mysuccessalert(Tmp_Str);
            return false;
        }
    }); // beforedeselect
--> 

  不可選   beforeselect event  
  --> 因為beforeselect event 時,目前選擇資料已不被選擇(deselect) ,
        若不符 return false, grid_D 會無選擇資料