目的: 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 + "%");
};