gridviewControl實現多行批量處理
阿新 • • 發佈:2018-12-22
客戶要求,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.最終實現樣式