2024年10月21日 星期一

V80403 -CaluField 當成過濾條件 – 1>顯示全部資料,不分頁 2>分頁Bar隱藏 - timeout - onload - T1C

 目的:V80403 -CaluField 當成過濾條件 – 1>顯示全部資料,不分頁      2>分頁Bar隱藏

處理說明: 1>若勾選[V](TLS工場xxxx,則資料全取,不分頁
          // 若勾選[V](TLS工場報價總工時-ALS工場已報工工時)低於xx小時,則資料全取,不分頁
            DataSet ds = null;
            if ((Tmp_chk_LESSHR1 == "true") && (!myfunc.checkisnull(Tmp_chk_LESSHR2)))  
                ds = getDataTable(cmd, countSql,false,true);  
            else                ////資料分頁 , 30筆/頁
                ds = getDataTable(cmd, countSql, true, true);
            int Tmp_Cnt = ds.Tables["T1"].Rows.Count;
  
                 2>隱藏分頁Bar
                      Ext.getCmp('grid_ptb').hide();            
                 3>重設總筆數
                ds.Tables["T1"].AcceptChanges();
     ds.Tables["T1C"].Rows[0]["TOTAL"] = int.Parse(ds.Tables["T1C"].Rows[0]["TOTAL"].ToString()) - Tmp_DelCnt;



1>*.js
var Tmp_chk_LESSHR1 = Ext.getCmp('s_chk_LESSHR1').getValue();
var Tmp_chk_LESSHR2 = Ext.getCmp('s_chk_LESSHR2').getValue();
np["s_rd_AMMSTS"] = Ext.getCmp('s_rd_AMMSTS').getValue();
np["s_rd_LQTY"] = Ext.getCmp('s_rd_LQTY').getValue();
try {
var Tmp_Proc_Msg = "";
if (Tmp_chk_LESSHR1 == false)
      Tmp_Proc_Msg = '資料顯示中, 請稍候...<br>';
else
    if (!checkisnull(Tmp_chk_LESSHR2)) {
         Tmp_Proc_Msg = "資料顯示中, 請稍候...<br><br>"
                                    + "因勾選[V]TLS工場報價總工時...<br>"
                                    + "會顯示全部資料且不分頁<br>"
                                    +"處理時間約需1x分鐘<br><br>"
                                    +"敬請稍候!!";

//不顯示ToolBar - 分頁Bar
console.log("Ext.getCmp('grid_ptb'):", Ext.getCmp('grid_ptb'));
Ext.getCmp('grid_ptb').hide();
}
var Proc_Msg = new Ext.LoadMask(Ext.getCmp("s_PROCMSG"),
        { msg: Tmp_Proc_Msg, }
);

gridstore.getProxy().timeout = 1200000;
gridstore.getProxy().url = '../api/V80403API/getGridData_M';
gridstore.getProxy().extraParams = np; //分頁OK,篩選條件OK
console.log("1 reloadGridData - before");
Ext.getCmp('grid_Single').reloadGridData();
console.log("2 reloadGridData - after");
Ext.getCmp('grid_Single').store.on("load", function (me, records, successful, eOpts) {
Proc_Msg.hide(); //若顯示完成,則不再顯示訊息

});


2>*.cs
           // 若勾選勾選[V](TLS工場xxxx,則資料全取,不分頁
            DataSet ds = null;
            if ((Tmp_chk_LESSHR1 == "true") && (!myfunc.checkisnull(Tmp_chk_LESSHR2)))  
                ds = getDataTable(cmd, countSql,false,true);  
            else                ////資料分頁 , 30筆/頁
                ds = getDataTable(cmd, countSql, true, true);
            int Tmp_Cnt = ds.Tables["T1"].Rows.Count;


        dr["LQTY_CNT_"] = Tmp_LQTY_CNT_;
                dr["PN_CNT_"] = Tmp_PN_CNT_;
                dr["MEET_PERCENT_"] = Tmp_MEET_PERCENT_;
            }  // end of for (int i = 0; i < Tmp_Cnt; i++)

            //若 [V](TLS工場報價工時 - ALS工場已報工工時)  高於 [XX]小時, 則刪除
            int Tmp_DelCnt = 0;
            if ((Tmp_chk_LESSHR1 == "true")  && (!myfunc.checkisnull(Tmp_chk_LESSHR2)))
            {
                for (int i = 0; i < Tmp_Cnt; i++)
                {
                    if (i >= ds.Tables["T1"].Rows.Count)
                    {
                        break;
                    }
                    DataRow dr = ds.Tables["T1"].Rows[i];
                    Tmp_TLS_ALS_MINUSHR_ = float.Parse(dr["TLS_ALS_MINUSHR_"].ToString());                    
                     if (Tmp_TLS_ALS_MINUSHR_ > float.Parse(Tmp_chk_LESSHR2))
                        {
                            dr.Delete();
                            Tmp_DelCnt = Tmp_DelCnt + 1;
                        }                                                
                } // for int i = 0; i < Tmp_Cnt; i++)
                  //重新設定總筆數
                ds.Tables["T1"].AcceptChanges();
                ds.Tables["T1C"].Rows[0]["TOTAL"] = int.Parse(ds.Tables["T1C"].Rows[0]["TOTAL"].ToString()) - Tmp_DelCnt;
            }//  if (Tmp_chk_LESSHR1 == "true")             

            return ds;

沒有留言:

張貼留言