2022年7月14日 星期四

Web V120502 –選擇行 -加入checkbox 選擇Row , 行允許多選

目的 checkbox 選擇行且允許多選

問題: 1>如何在每一行開頭,加入checkbox (xtype: 'checkcolumn')

           2>依勾選資料處理(可多選) 


處理說明:

1>在每一行開頭,加入  checkbox

var J_columns = [
{ header: "", xtype: "rownumberer", width: 50, align: "center", sortable: false },
{
header: '勾選',
dataIndex: 'CHECK',
xtype: 'checkcolumn',
width: 60,
renderer: function (value, metadata, record, rowIndex, colIndex, store) {
var tempVal = '';
if ((value === 'Y') || (value === true)) { tempVal = 'checked'; }
var Tmp_Str = "<input  type='checkbox'  name=" + (record.get('AMMNO')) + "   " + tempVal + " >";
return Tmp_Str;
},
}, // end of  header='[ ]勾選'

{header:"AMM單號",dataIndex:"AMMNO",width:150,TMType:"string"},
{header:"AMM單況",dataIndex:"AMMSTS",width:75,TMType:"string"},
{header:"AMM單況說明",dataIndex:"AMMSTS_"},
{header:"工號",dataIndex:"SAPNO",width:120,TMType:"string"},
{header:"件號",dataIndex:"PN",width:150,TMType:"string"},
    :
];


2>依勾選資料處理(可多選)

        win.show();                
        var Tmp_Str = '';
        var Tmp_Grid = Ext.getCmp('grid_Single');
        var Tmp_store = Tmp_Grid.store;  //= gridstore        
        var Tmp_sub_Grid = Ext.getCmp('sub_Grid');
        var Tmp_sub_store = Tmp_sub_Grid.store;  //= gridstore        
        var Tmp_PageCnt = Tmp_store.getCount();  //store筆數
      
var cur_rec, Tmp_AMMNO, Tmp_CHECK, Tmp_SAPNO, Tmp_PN, Tmp_QTY, Tmp_EOCND, Tmp_RMK ;
        var Tmp_OK = true;
        var np = {};
        var sub_Store_np = {};
var Tmp_SelCnt = 0;
//將主畫面勾選的資料, 加入子視窗.DBGrid
        for (i = 0; i < Tmp_PageCnt; i++) {
            //console.log("更新第 i  筆", i);
            //依目前 store的資料, 更新 AMM_FACDEPD.NWK , PK( DT+DEP+EMPLYID)
            cur_rec = Tmp_store.getAt(i);
            Tmp_AMMNO = cur_rec.data["AMMNO"];
            Tmp_CHECK = cur_rec.data["CHECK"];
            //console.log("1 Tmp_AMMNO=", Tmp_AMMNO);
            //console.log("1 Tmp_CHECK=", Tmp_CHECK);
            Tmp_SAPNO = cur_rec.data["SAPNO"];
            Tmp_PN = cur_rec.data["PN"];
            Tmp_QTY = cur_rec.data["QTY"];
            if (!checkisnull(cur_rec.data["ECNO"])) {
                Tmp_EOCND = cur_rec.data["ECNO"] + "+" + cur_rec.data["CNDPROCCODE"];
            }
            else {
                Tmp_EOCND = "";
            }
            Tmp_RMK = cur_rec.data["ACNO_"];
            //若主畫面資料有勾選,則加入 sub_store , sub_store 不分頁
            if (Tmp_CHECK) {                
                sub_Store_np = {
                    SAPNO: Tmp_SAPNO,
                    PN: Tmp_PN,
                    QTY: Tmp_QTY,
                    EOCND: Tmp_EOCND,
                    RMK: Tmp_RMK,                    
                }
                Tmp_sub_store.add(sub_Store_np);
            }

}  // end of for i=         
        Tmp_SelCnt = Tmp_sub_store.getCount();
        if (Tmp_SelCnt == 0) {
            mywarnalert("請先選擇要列印的資料 !!");

            //console.log("Ext.getCmp('sub_Grid'):", Ext.getCmp('sub_Grid'));
            //Ext.getCmp('sub_Grid').up('window').close();
            //Ext.getCmp('sub_Grid').up('window').destroy();
            return;
}       

沒有留言:

張貼留言