客户要求,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.最终实现样式