一个datatable,里面有从数据库查询的数据,现在我想在datatable中添加一列“合计”,统计每一行的总值,该怎么添加,我从网上找到了一个办法,但都没用....求解....
解决方案 »
- VS2008做了一个网站,急!!怎么发布到IIS里,有没有详细的步骤。VS2008里的有的CSS效果都没出来
- 文件所有代码,为什么两段同样的代码,一个正常执行,一个有执行却不改变控件状态?
- Asp.NET中日期怎么加减?
- 请教:奇怪的OCI-22053问题
- 不能为数字的正则表达式
- 颜色问题。。。
- 我在vs.net中新建一个项目后,它默认的文件名是webForm1.aspx,怎么把它改名?
- 关于asp.net中资源文件的访问
- ***不是吧,这样也行?这里好象是不能倒分的***
- 关于页面刷新的问题(高分求答)
- 在线急等 ,帮忙看看下面样式该如何实现
- asp.net的C#源码中调用oracle数据包,出现ORA-01410: 无效的 ROWID
1。给datatable加一个列 datatable.Columns.Add("合计", typeof(System.String));
2。查询的时候 把一个字段或者一个函数 as 成“合计”
这样加进去就行了
然后把这一行的计数列汇总一下 存入到这列中。
用<%#Eval("")%>显示时也提示这个
代码是下面,帮看看问题出哪
1.添加列 DataTable table = cd.showall(sql);//数据库查询得到
column.ColumnName = "total";//列名
column.Caption = "total";
column.DataType = System.Type.GetType("System.String");
column.ReadOnly = false;
table.Columns.Add(column);2.往列添加数据代码for (int i = 0; i < table.Rows.Count; i++)
{
table2.Rows[i]["total"] = "50";
}
<ItemTemplate>
<asp:Literal runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.数量") * DataBinder.Eval(Container, "DataItem.单价") ></asp:Literal>
</ItemTemplate>
</asp:Repeater>
{
table2.Rows[i]["total"] = "50";
}
这种方式根本就违背原则, 什么原则我也说不清楚. 反正asp.net稍微熟悉的都不会这么搞!
var column = new DataColumn();
column.ColumnName = "total";//列名
column.Caption = "total";
column.DataType = System.Type.GetType("System.String");
column.ReadOnly = false;
table.Columns.Add(column);
select (field1+field2) AS '合计' from table ..在代码中统计 column.Expression = "filed1 + filed2";
这种方法是可以用的,查询数据库的列里面的值可以通过table2.Rows[i]["列名"] 获得值,也可以修改里面的值,但是新加的列不行,这个我是验证过的.....
这个已经都封装好了的