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>
=======================================================
分享到:
相关推荐
easyui datagrid 删除多行操作时会出现异常,该方法可以直接加载一次数据,避免该问题的发生
vs2003用CheckBox实现DataGrid的多行删除源码.rar
wpf datagrid实现树结构
通过将DataGrid保存在.xps文件中,实现对DataGrid数据的打印
wpf通过datagrid操作数据库,实现datagrid增删改操作。
easyui消除datagrid多行 easyui的忠实粉丝可以参考
该方案是现在项目中已使用的方案。实现起来比较简单,但不具有通用性,不同数据DataGrid需要指定不同的TextBlock跨不同列。实现起来局限性,目前不能冻结列。而且对列只可以是全部已知。
WPF DataGrid 拖拽实现
WPF中使用DataGrid完成一个行级数据折叠收缩展开的功能,通过点击行头折叠或者展开明细数据。该能能常见的使用在数据的明细汇总展示上,初始展示汇总数据点击展示某行汇总的结果展示对应的明细信息。
如何实现datagrid多行删除? 最近在前端界面开发中,使用了datagrid组件。需要完成一个多行勾选并删除的功能。 查看easyui api,其中有一个deleteRow方法,传入要删除行的索引,即可删除该行。 错误做法 于是准备...
DataGrid实现tooltip功能DataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txtDataGrid实现tooltip功能.txt
两个VC++的DataDisp操作实例,其中一个实例演示操作DATAGRid控件的宽度、百分数显示、多行显示、设置背景色和前景色以及文本的对齐方式,另一个则通过一个简单的通讯录程序演示一些常规的数据添加、删除、修改的方法,...
最近想做一个通过PHP实现DataGrid功能的东西,这样可以直接修改数据库中表的内容,而 用开发【新增数据页面】,【编辑页面】,于是乎在网上找了找,类似的东西也有几个,开源 、付费的都有,不过基本都是基于MySQL。...
WPF中DataGrid自定义实现最后一行下面跟一个汇总行,类似MT4
vb 用datagrid和adodc 关联显示数据库内容
C# WPF DataGrid行拖拽顺序交换,通过按下rowheader,移动到目标行rowheader松开,实现列表顺序交换
主要介绍了C#实现改变DataGrid某一行和单元格颜色的方法,主要涉及DataGrid控件的添加与使用、数据源的绑定、单元格与行的获取等操作。需要的朋友可以参考下
flex的datagrid合并单元格,实现某行、某列的合并,以及多行或者多列的合并。通过MecGrid实现!
简单的修改DataGrid的表头的方法,希望有帮助
c# DATAGRID使用方法c# DATAGRID使用方法c# DATAGRID使用方法c# DATAGRID使用方法