2024年6月24日 星期一

V80203 – 多筆挑選 – 如何取得[V]勾選的多筆欄位值 - 多筆勾選 - 多選 - [V]精準

 目的: V80203 – 多筆挑選 如何取得[V]勾選的多筆欄位值

處理說明: 1>多筆挑選的設定: get_pick_btn1 --> EditPickx(  ,isUseCheckBox=true); 允許多筆勾選
                                                    get_pick_btn0 : 只可挑選一筆
                        var cmp_LWA = get_cmp_txt1('LWA', 's_LWA', 80, 130);
                        var cmp_pick_LWA = get_pick_btn1('挑選LWA', 's_btn_LWA',
                                                             '../api/V80203API/get_s_LWAPick?isComplete=0',
                                                          ['LWA'], ['s_LWA'], J_pickstore_s_LWA, J_pickcolumns_s_LWA);
                         var cmp_prc_LWA = get_cmp_chk1('精準', 's_prc_LWA', 50, '3');
                        cmp_LWA.items.push(cmp_pick_LWA, cmp_prc_LWA);

                  2>如何取得 多筆挑選的欄位值 
                     var id = win.query('gridpanel')[0].id;
                      var Tmp_items = Ext.getCmp(gridpanel_id).getView().selModel.selected.items;
                       for (i = 0; i < Tmp_items.length ; i++) {
                            Tmp_Str = Tmp_Str+Tmp_items[i].data["LWA"] + ",";
                        }

                        


1>*.js
 //LWA    
    var cmp_LWA = get_cmp_txt1('LWA', 's_LWA', 80, 130);
   //多筆勾選用 get_pick_btn1  ,  單筆選取  get_pick_btn0
    var cmp_pick_LWA = get_pick_btn1('挑選LWA', 's_btn_LWA',
        '../api/V80203API/get_s_LWAPick?isComplete=0',
        ['LWA'], ['s_LWA'], J_pickstore_s_LWA, J_pickcolumns_s_LWA);
    //var cmp_prc_LWA = get_cmp_chk1('精準', 's_prc_LWA', 50, '3');    
    //cmp_LWA.items.push(cmp_pick_LWA, cmp_prc_LWA);
    cmp_LWA.items.push(cmp_pick_LWA,);


myfunc.js
//get_pick_btn1(欄位名稱,欄位id , 呼叫url ,傳回欄位名稱s,傳回填入欄位s,   ) : 允許多筆挑選
function get_pick_btn1(par_title, par_id, par_url, par_r_fld, par_r_id, par_model, par_columns) {
    var rtn_cmp =
    {
        xtype: "button", id: par_id, name: par_id, text: "...",
        handler: function () {
            //var win = EditPickx('AMMNO', '../api/V40AAPI/get_s_AMMNOPick?isComplete=0', ['AMMNO'], ['s_AMMNO'], J_pickstore_s_AMMNO, J_pickcolumns_s_AMMNO);
                                            //                                                                                                                
//EditPickx(.. ,paging,suspendevent,stripsrows,ischeckbox)   - ischeckbox=true 多筆勾選
            var win = EditPickx(par_title, par_url, par_r_fld, par_r_id, par_model, par_columns, false, false, true, true);
            win.show();
            //win.beforeclose = beforeclose1;  //本行指令無法作用
            //win.on('close', beforeclose1);
            //function beforeclose1(par_me, par_eOpts) {
            //    mywarnalert("離開前 before close  event!!");
            //};
            //加入[確認][取消]鈕
            var pop_grid_id = win.query("gridpanel")[0].id;
            var bar = Ext.getCmp(pop_grid_id).down("toolbar");
            //var bar = Ext.getCmp(pop_grid_id).down("buttons");
            console.log("win: ", win);
            //var bar = win.query("buttons");
            //console.log("bar - win.buttons", bar);
            bar.insert(bar.items.length, [
                { xtype: "tbfill" },
                {
                    xtype: "button", text: "確認", handler: function () {
                        //console.log(emObj.emList); //取得勾選的紀錄
                        var id = win.query('gridpanel')[0].id;
                        var Tmp_items = Ext.getCmp(id).getView().selModel.selected.items;
                        console.log("Tmp_items:", Tmp_items); //取得勾選的紀錄
                        var Tmp_Str = "";
                        for (i = 0; i < Tmp_items.length ; i++) {
                            Tmp_Str = Tmp_Str+Tmp_items[i].data["LWA"] + ",";
                        }
                        if (Tmp_Str.length > 0) {
                            Tmp_Str = Tmp_Str.substr(0, Tmp_Str.length-1);
                        }
                        console.log("Tmp_Str=", Tmp_Str);                        
                        mywarnalert("按[確認]鈕 !! - Tmp_Str=" + Tmp_Str);
                        Ext.getCmp(par_r_id).setValue(Tmp_Str);
                        win.close();
                    }
                },
                {
                    xtype: "button", text: "取消", handler: function () {
                        win.close();
                    }
                }
            ]);           
            
        }
    };
    return rtn_cmp;
};
2>*.cs
if (!myfunc.checkisnull(Tmp_LWA))
            {
                if (Tmp_prc_LWA == "true")
                    Tmp_Sql = Tmp_Sql + " AND  LWA=" + myfunc.AA(Tmp_LWA);
                else  //將 0011,0012  -->  '0001','0012'
                    Tmp_Sql = Tmp_Sql + " AND  LWA  IN (" + myfunc.AddQuoteStr(Tmp_LWA)+")";
                //else
                //    Tmp_Sql = Tmp_Sql + " AND  LWA  LIKE  " + myfunc.AA("%" + Tmp_LWA + "%");
            };

沒有留言:

張貼留言