转载 DataGrid能一次修改多行记录吗?如果不行,有其他方法实现吗?收藏

新一篇: DataGrid中加入CheckBox,并实现单选 选择自 listhome 的 Blog  | 旧一篇: 我的内容管理系统(CMS)寻找历程 -- Mambo出鞘,谁与争锋?

private   bool   updateValue()  
  {  
  bool   bCanSave   =   true;  
  bool   bCommitDate   =   true;  
  bool   bRepairNegative   =   false;  
  bool   bIsWorkingDay   =   true;  
  bool   bIsValidDay   =   true;  
  bool   bolOB   =   true;  
  foreach(DataGridItem   dgi   in   dgCustInvItem.Items)  
  {  
  ListItemType   lit   =   dgi.ItemType;  
  if   (lit   ==   ListItemType.Item   ||   lit   ==   ListItemType.AlternatingItem)  
  {  
  TextBox   txtActualQty   =   (TextBox)dgi.FindControl("txtActualQty");  
  TextBox   txtLineType   =   (TextBox)dgi.FindControl("txtLineType");    
  TextBox   txtOV   =   (TextBox)dgi.FindControl("OV_QTY");  
  TextBox   txtOB   =   (TextBox)dgi.FindControl("OB_QTY");  
  TextBox   txtOTHERS   =   (TextBox)dgi.FindControl("OTHERS_QTY");  
  TextBox   txtSCRAPE   =   (TextBox)dgi.FindControl("SCRAPE_QTY");  
   
  int   iActualQty   =   0;  
  try  
  {  
  iActualQty   =   Convert.ToInt32(txtActualQty.Text.Trim());  
  }  
  catch  
  {}  
   
  int   iOvQty   =   0;  
  try  
  {  
  iOvQty   =   Convert.ToInt32(txtOV.Text.Trim());  
  }  
  catch  
  {}  
   
  int   iObQty   =   0;  
  try  
  {  
  iObQty   =   Convert.ToInt32(txtOB.Text.Trim());  
  }  
  catch  
  {}  
   
  int   iOthersQty   =   0;  
  try  
  {  
  iOthersQty   =     Convert.ToInt32(txtOTHERS.Text.Trim());  
  }  
  catch  
  {}  
   
  int   iScrapeQty   =   0;  
  try  
  {  
  iScrapeQty   =     Convert.ToInt32(txtSCRAPE.Text.Trim());  
  }  
  catch  
  {}  
   
  if(txtLineType.Text.Trim()   ==   "EXTRA")  
  {  
  if   (iActualQty==0)  
  {  
  bCanSave   =   false;  
  }  
  }  
  if(iActualQty-iOvQty-iObQty-iOthersQty-iScrapeQty   <   0)  
  {  
  bRepairNegative   =   true;  
  }  
   
  TextBox   txtCommitDate   =   (TextBox)dgi.FindControl("COMMIT_DATE");  
  try  
  {  
  DateTime   dtDate   =   Convert.ToDateTime(txtCommitDate.Text.Trim());  
  }  
  catch  
  {  
  bCommitDate   =   false;  
  }  
  if(bCommitDate   &&   bIsWorkingDay)  
  {  
  com.siemens.smi.rgm.components.Calendar   objCalendar   =   new   com.siemens.smi.rgm.components.Calendar(DateTime.Now);  
  bIsWorkingDay   =   objCalendar.checkWorkingDate(txtCommitDate.Text.Trim());  
  }  
  if   (bCommitDate   &&   bIsWorkingDay   &&   bIsValidDay)  
  {  
  DateTime   dtDate   =   Convert.ToDateTime(txtCommitDate.Text.Trim()   +   "   23:59:59");  
  if(dtDate   <   DateTime.Now)  
  {  
  bIsValidDay   =   false;  
  }  
   
  }  
  //For   OB   item,   OB   qty   must   equal   to   actual   receive   qty  
  CustInvLine   line   =   new   CustInvLine();  
  DataTable   dtTmp   =   line.FindItem(dgi.Cells[2].Text);  
  if(dtTmp.Rows.Count   >   0)  
  {  
  if(dtTmp.Rows[0]["item_type"].ToString().Trim()   ==   "OB")  
  {  
  if(iActualQty   !=   iObQty)  
  {  
  bolOB   =   false;  
  }  
  }  
  }  
   
  }  
  }  
   
  if(bCanSave   &&   !bRepairNegative   &&   bCommitDate   &&   bIsWorkingDay   &&   bIsValidDay   &&   bolOB)  
  {  
  CustInvLine   objLine   =   new   CustInvLine();  
  foreach(DataGridItem   dgi   in   dgCustInvItem.Items)  
  {  
   
  ListItemType   lit   =   dgi.ItemType;  
  if   (lit   ==   ListItemType.Item   ||   lit   ==   ListItemType.AlternatingItem)  
  {  
  TextBox   txtActualQty   =   (TextBox)dgi.FindControl("txtActualQty");  
  TextBox   txtOV   =   (TextBox)dgi.FindControl("OV_QTY");  
  TextBox   txtOB   =   (TextBox)dgi.FindControl("OB_QTY");  
  TextBox   txtOTHERS   =   (TextBox)dgi.FindControl("OTHERS_QTY");  
  TextBox   txtSCRAPE   =   (TextBox)dgi.FindControl("SCRAPE_QTY");  
  TextBox   txtRemark   =   (TextBox)dgi.FindControl("txtRemarks");    
  TextBox   txtCommitDate   =   (TextBox)dgi.FindControl("COMMIT_DATE");  
   
  objLine.UpdateQuantity(lblCustID.Text.Trim(),lblCustInv.Text.Trim(),dgi.Cells[1].Text.Trim(),"1",txtActualQty.Text.Trim(),  
  txtOV.Text.Trim(),txtOB.Text.Trim(),txtOTHERS.Text.Trim(),txtSCRAPE.Text.Trim(),txtCommitDate.Text.Trim(),   txtRemark.Text.Trim(),HttpContext.Current.User.Identity.Name);  
  }  
  }  
  btnVerifiy.Enabled   =   true;  
  FillGrid();  
  }  
  else  
  {  
  string   strResponse   =   "";  
  if(bRepairNegative)  
  {  
  strResponse   =   "   <script   language='JavaScript'>"       +  
  "   alert(\"Repair   Quantity   can   not   be   negative!\");"       +  
  "   </script>"     ;  
  }  
  else   if(!bCanSave)  
  {  
  strResponse   =   "   <script   language='JavaScript'>"       +  
  "   alert(\"Actual   Rec'd   Quantity   can   not   be   zero   on   the   EXTRA   line!\");"       +  
  "   </script>"     ;  
  }  
  else   if(!bCommitDate)  
  {  
  strResponse   =   "   <script   language='JavaScript'>"       +  
  "   alert(\"Commit   Date   format   is   wrong   or   can   not   be   blank!\");"       +  
  "   </script>"     ;  
  }  
  else   if(!bIsWorkingDay)  
  {  
  strResponse   =   "   <script   language='JavaScript'>"       +  
  "   alert(\"Commit   Date   is   NON   WORKING   DAY!\");"       +  
  "   </script>"     ;  
  }  
  else   if(!bIsValidDay)  
  {  
  strResponse   =   "   <script   language='JavaScript'>"       +  
  "   alert(\"Commit   Date   must   be   late   than   today!\");"       +  
  "   </script>"     ;  
  }  
  else   if(!bolOB)  
  {  
  strResponse   =   "<script   language=javascript>alert('Obsolete   qty   must   equal   to   actual   received   qty!');</script>";  
  }  
  Response.Write(strResponse);  
  }  
  return   (bCanSave   &&   !bRepairNegative);  
  }

===================================================datagrid增加chackbox模板列  
  然后每行都修改模板列为为Textbox模板列,部分选择或者不选择(帮定列转为模板列后,把选择列的剪切到普通模板列)  
  在一个按钮里面检测checkbox,然后统一更新!

==========================================================================================

用如下的模板列!  
  <asp:TemplateColumn   HeaderText="测试">  
  <ItemTemplate>  
  <asp:TextBox   runat="server"   Text='<%#   DataBinder.Eval(Container,   "DataItem.Test")   %>'   ID="Textbox1">  
  </asp:TextBox>  
  </ItemTemplate>  
  </asp:TemplateColumn>

=======================================================

发表于 @ 2006年04月30日 18:08:00|评论(loading...)|编辑

新一篇: DataGrid中加入CheckBox,并实现单选 选择自 listhome 的 Blog  | 旧一篇: 我的内容管理系统(CMS)寻找历程 -- Mambo出鞘,谁与争锋?

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 狼战