再发,计算DataGrid某一列的总和!

Remex_Love_Lilie 2005-09-01 10:19:49
Code:
string MemberID=null;
MemberID=Request.Cookies["Member_ID"].Value;
SqlConnection Conn=DB_Operate.Create_Connection();
Conn.Open();
SqlDataAdapter Manage_Order_Cmd=new SqlDataAdapter("Select * From Order_Code Where Member_ID='"+MemberID+"' Order By Order_Code Desc",Conn);
DataSet DS=new DataSet();
Manage_Order_Cmd.Fill(DS,"Order_Code");
this.Manage_Order_DataGrid.DataKeyField="Order_Code";
this.Manage_Order_DataGrid.DataSource=DS.Tables["Order_Code"].DefaultView;
this.Manage_Order_DataGrid.DataBind();
//获取会员报单总记录数
string OrderRecord=this.Manage_Order_DataGrid.Items.Count.ToString();
this.Order_Record.Text=OrderRecord;
int sum=0;
foreach(System.Web.UI.WebControls.DataGridItem lsItem in this.Manage_Order_DataGrid.Items)
{
if(lsItem.ItemIndex>=0)
{
sum+=int.Parse(lsItem.Cells[3].Text);
}
}
this.Order_Total_Money.Text=sum.ToString();
Datagrid Html代码:
<asp:datagrid id="Manage_Order_DataGrid" runat="server" AllowPaging="True" Width="600px" AutoGenerateColumns="False"
DataKeyField="Order_Code" CellPadding="1" BorderWidth="1px" BorderStyle="Solid" BorderColor="#698CC3">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#F0F0F0"></AlternatingItemStyle>
<ItemStyle BackColor="#FEFEFE"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#698CC3"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="会员号">
<HeaderStyle HorizontalAlign="Center" ForeColor="White" Width="100px"></HeaderStyle>
<ItemTemplate>
<div align="center"><%#DataBinder.Eval(Container.DataItem,"Member_ID")%>
</div>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="Order_Code" HeaderText="订单号">
<HeaderStyle HorizontalAlign="Center" ForeColor="White" Width="400px"></HeaderStyle>
<ItemStyle Width="500px"></ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="编辑">
<HeaderStyle ForeColor="White" Width="40px"></HeaderStyle>
<ItemTemplate>
<a href='Edit_Order.aspx?Order_Code=<%# DataBinder.Eval(Container.DataItem, "Order_Code")%>'>
修改</a>
</ItemTemplate>
</asp:TemplateColumn>
<asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete">
<HeaderStyle ForeColor="White" Width="40px"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
每次运行都说输入的字符串格式不正确
数据表:
Member_ID Product_Code Product_Num Total_Money
001 BW001 10 100
001 BW002 20 45
我要计算Total_Money的总和
...全文
252 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
triffang 2005-09-01
  • 打赏
  • 举报
回复
http://blog.csdn.net/triffang/archive/2005/06/25/402962.aspx
aquariusdeng 2005-09-01
  • 打赏
  • 举报
回复
另外,你的Cells[3]是不是Total_Money?
就算是,
sum+=int.Parse(lsItem.Cells[3].Text);
这行也是很危险的代码,只要碰上不是数字的字符,程序就会报错,比如为空( )
在确定Cells[3]是Total_Money没错之后,在int.Parse那行加try catch吧

暗石绿 2005-09-01
  • 打赏
  • 举报
回复
你 DataGrid 里没有 Total_Money 这一列,你统计什么呀?
暗石绿 2005-09-01
  • 打赏
  • 举报
回复
你的 DataGrid 里没有 Total_Money 这一列,你统计什么呀?
aquariusdeng 2005-09-01
  • 打赏
  • 举报
回复
设个断点去看看lsItem.Cells[3].Text是什么值不就行了?

你看看是不是把页眉页脚也给累加了
lsItem.ItemType==ListItemType.Header||lsItem.ItemType==ListItemType.Footer
把这两种情况跳过
Remex_Love_Lilie 2005-09-01
  • 打赏
  • 举报
回复
顶顶
jamex 2005-09-01
  • 打赏
  • 举报
回复
Sample:

Dim TotalSumCol2 As Decimal
Dim PageSumCol2 As Decimal

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
Select Case e.Item.ItemType
Case ListItemType.AlternatingItem, ListItemType.Item
'计算本页的合计
PageSumCol2 += CDbl(e.Item.Cells(2).Text)

Case ListItemType.Footer
'Use the footer to display the summary row.
e.Item.Cells(1).Text = "本页合计:" & PageSumCol2.ToString("c")
e.Item.Cells(2).Text = "总合计:" & TotalSumCol2.ToString("c")
End Select

End Sub
y3q3 2005-09-01
  • 打赏
  • 举报
回复
建议在DataGird数据绑定的时候进行数据的统计
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧