1. 程式人生 > >gridviewControl實現多行批量處理

gridviewControl實現多行批量處理

      客戶要求,gridviewControl實現多行批量處理,不需要新增控制元件,資料集就可以實現,程式碼奉上!

< 1. 從GridView繫結資料集開始
這裡寫圖片描述
< 2. 資料集欄位設定
這裡寫圖片描述
< 3. 設計頁面
這裡寫圖片描述
< 4.程式碼

 /// <summary>
        /// 已處理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">
</param>
private void btnProcessTask_Click(object sender, EventArgs e) {//jiangb 20161122 增加 try {//yehy 20180830 增加解凍批量處理 this.bindingSourceCraftPlan.EndEdit(); this.gridViewCraftPlan.PostEditor(); //判斷單選框狀態 DataRow[] drs = dstCraftPlanControl1.Tables[0
].Select("ISSELECT=True"); //yehy 20180903 功能改為批量處理註釋 //int[] iSelect = this.gridViewCraftPlan.GetSelectedRows(); //string strHid = dr["hardwareplanid"].ToString(); ////鎖定 //m_PlanAssignLogic.UpdateLockHardwareplan(strHid, "0"); foreach
(DataRow dr in drs) { //判斷鎖定狀態 string strLockplan = dr["lockplan"].ToString(); //如果鎖定 解凍 if (drs.Length > 0 && strLockplan=="1") { string strHid = dr["hardwareplanid"].ToString(); //鎖定 m_PlanAssignLogic.UpdateLockHardwareplan(strHid, "0"); } } //重新整理 picBoxRefresh_Click(null, null); } catch (Exception ex) { UserMessages.ShowInfoBox(ex.Message); } }
        /// <summary>
        /// 待處理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnWaitTask_Click(object sender, EventArgs e)
        {//jiangb 20161122 增加
            try
            {//yehy 20180830 增加凍結批量處理

                this.bindingSourceCraftPlan.EndEdit();
                this.gridViewCraftPlan.PostEditor();
                //判斷單選框狀態
                DataRow[] drs = dstCraftPlanControl1.Tables[0].Select("ISSELECT=True");
                //yehy 20180903 功能改為批量處理註釋
                //int[] iSelect = this.gridViewCraftPlan.GetSelectedRows();

                foreach (DataRow dr in drs)
                {
                    //判斷鎖定狀態
                    string strLockplan = dr["lockplan"].ToString();
                    //如果未鎖定 凍結
                    if (drs.Length > 0)
                    {
                        string strHid = dr["hardwareplanid"].ToString();
                        //鎖定
                        m_PlanAssignLogic.UpdateLockHardwareplan(strHid, "1");

                    }
                }
                //重新整理
                picBoxRefresh_Click(null, null);
            }
            catch (Exception ex)
            {

                UserMessages.ShowInfoBox(ex.Message);
            }
        }

< 5.最終實現樣式
這裡寫圖片描述