2025年10月28日 星期二

V20108GA:簡單子畫面- Grid – 含[V]勾選CheckBox & V20108G:簡單子畫面- Grid

 目的: V20108GA:簡單子畫面- Grid – 含[V]勾選CheckBox       
            V20108G:簡單子畫面- Grid     

處理說明:  1>V20108GA:簡單子畫面- Grid – 含[V]勾選CheckBox     - PK_LIST , ALL_LIST
                        Ext.define('CHK_PK_OBJ1', {
                                        PK_LIST: [], //儲存選項's的  PK欄位值
                                     ALL_LIST: [], //儲存選項's的 所有欄位值
                         });
                         var CHK_PK_OBJ1 = Ext.create('CHK_PK_OBJ1');

                  2>V20108GA:簡單子畫面- Grid - 加入[V]
                       var sub_Columns_V20108GA = [
                       {
                          //2023/07/14 microed , 將 V120201 改成 雅嵐版本 - 分頁勾選
                          header: "勾選",
                          dataIndex: "CHECK",
width: 40, xtype: 'checkcolumn', menuDisabled: true,
                         //rec : 目前資料欄位值
                         renderer: function (value, metadata, rec, rowIndex, colIndex, store) {
                         var Tmp_PK = rec.get('EMPLYID');
     var chkd = '';
  if (rec.get('CHECK') === true) {
if (CHK_PK_OBJ1.PK_LIST.indexOf(Tmp_PK) == -1) {
CHK_PK_OBJ1.PK_LIST.push(Tmp_PK);
CHK_PK_OBJ1.ALL_LIST.push(rec.data);
}
chkd = 'checked';
rec.set('CHECK', true);
}



1>V20108GA_JSON.js
var sub_Columns_V20108GA = [
    { header: "", xtype: "rownumberer", width: 40, align: "center", sortable: false },
{
//2023/07/14 microed , 將 V120201 改成 雅嵐版本 - 分頁勾選
header: "勾選",
dataIndex: "CHECK", width: 40, xtype: 'checkcolumn', menuDisabled: true, sortable: false,
//rec : 目前資料欄位值
renderer: function (value, metadata, rec, rowIndex, colIndex, store) {
//var item = record.get('PROM_ID') + '&' + record.get('CR_NO') ;
console.log("renderer rec:", rec);
console.log("renderer rec.data:", rec.data);
var Tmp_PK = rec.get('EMPLYID');
var chkd = '';
if (rec.get('CHECK') === true) {
if (CHK_PK_OBJ1.PK_LIST.indexOf(Tmp_PK) == -1) {
CHK_PK_OBJ1.PK_LIST.push(Tmp_PK);
CHK_PK_OBJ1.ALL_LIST.push(rec.data);
}
chkd = 'checked';
rec.set('CHECK', true);
}
else if (rec.get('CHECK') === false) {
rec.set('CHECK', false);
//將本Tmp_PK ,由 Array 中移除 , 所以不會有 空字串, 空 Object
CHK_PK_OBJ1.PK_LIST = jQuery.grep(CHK_PK_OBJ1.PK_LIST, function (item) {
return item != Tmp_PK;
});
CHK_PK_OBJ1.ALL_LIST = jQuery.grep(CHK_PK_OBJ1.ALL_LIST, function (item) {
return item.EMPLYID != Tmp_PK;
});
console.log("unchecked  CHK_PK_OBJ1.PK_LIST:", CHK_PK_OBJ1.PK_LIST);
console.log("unchecked  CHK_PK_OBJ1.ALL_LIST:", CHK_PK_OBJ1.ALL_LIST);
}
else if (typeof rec.get('CHECK') === "undefined") { //往上或下一頁
if (CHK_PK_OBJ1.PK_LIST.indexOf(Tmp_PK) > -1) {
chkd = 'checked';
if (CHK_PK_OBJ1.PK_LIST.indexOf(Tmp_PK) == -1) {
CHK_PK_OBJ1.PK_LIST.push(Tmp_PK);
CHK_PK_OBJ1.ALL_LIST.push(rec.data);
console.log("undefined checked CHK_PK_OBJ1.PK_LIST:", CHK_PK_OBJ1.PK_LIST);
console.log("undefined checked CHK_PK_OBJ1.ALL_LIST:", CHK_PK_OBJ1.ALL_LIST);
}
rec.set('CHECK', true);
} else {
rec.set('CHECK', false);
}
}
var cbx = "<input  type='checkbox'  "
+ chkd + " > ";
return cbx;
},
},
    { header: "部門編號", dataIndex: "DEPID", width: 100, sortable: false, TMType: "string" },
    { header: "員工編號", dataIndex: "EMPLYID", width: 100, sortable: false, TMType: "string" },
    { header: "員工編號", dataIndex: "EMPLYNM", width: 100, sortable: false, TMType: "string" },
];


var Tmp_DataAry = [];
    var isOk = true;
    var np = {};
    var Tmp_Str = "";
    for (let i = 0; i <= CHK_PK_OBJ1.PK_LIST.length - 1; i++) {
        cur_rec = CHK_PK_OBJ1.ALL_LIST[i];
        Tmp_DataAry.push(cur_rec);
    } //  end of for (let i=0,)                
    // 將目前子畫面的資料(Table)轉成 JSON字串
    var Tmp_DataStr = JSON.stringify(Tmp_DataAry);
   var np = {};
    np = {
        DataStr: Tmp_DataStr,       
    };
    var Tmp_url = '../../api/V20201GAAPI/UPDATE_AMM_SCHEDULE';
    var Tmp_RtnStr = getUrlStr(Tmp_url, np, "取消待完工- AMM_SCHEDULE");
    if (checkRtnOK(Tmp_RtnStr)) {
        mysuccessalert(Tmp_RtnStr);
        Ext.getCmp("btn_sub_Show").fireHandler();        
        return;
    }
    else
        mywarnalert(Tmp_RtnStr);




2>*.cs
public dynamic UPDATE_AMM_SCHEDULE()
        {
            //取得參數值
            var c = HttpContext.Current;
            NameValueCollection nvc = c.Request.Form;

            string Tmp_DataStr = nvc["DataStr"];            
            string Tmp_RtnMsg = "";

            string n = funId + "_UPDATE_AMM_SCHEDULE";
            HttpCookie MyCookie;
            try
            {
                string Tmp_ITM;
                string Tmp_AMMNO, Tmp_WC;
                string Tmp_WBS, Tmp_TYPEAF;
                string Tmp_PN, Tmp_PNNAME, Tmp_SERNO;
                string Tmp_SDT, Tmp_PROJDT, Tmp_CSDTAF, Tmp_EDT;
                string Tmp_CONTAF, Tmp_PROJID, Tmp_SAPNO, Tmp_FIXNO;
                string Tmp_GONOAF, Tmp_EIAC, Tmp_ECNO, Tmp_CNDPROCCODE;
                string Tmp_RT, Tmp_WET, Tmp_RESCH, Tmp_PROCWC, Tmp_SCHER;
                string Tmp_DT, Tmp_STAT, Tmp_PECT, Tmp_FAVITEM;

                DataTable dt_np = myfunc.JSON2dt(Tmp_DataStr);
                for (var i = 0; i < dt_np.Rows.Count; i++)
                {
                    Tmp_AMMNO = dt_np.Rows[i]["AMMNO"].ToString();
                    Tmp_WC = dt_np.Rows[i]["WC"].ToString();
                    Tmp_WBS=dt_np.Rows[i]["WBS"].ToString(); 
                    Tmp_TYPEAF = dt_np.Rows[i]["TYPEAF"].ToString();


沒有留言:

張貼留言