一个datatable,里面有从数据库查询的数据,现在我想在datatable中添加一列“合计”,统计每一行的总值,该怎么添加,我从网上找到了一个办法,但都没用....求解....
解决方案 »
- Asp.net实现邮件的收发,要BS版的,急
- 如何解决用户点击浏览器的后退按钮造成的重复提交
- 下载文件
- c#如何获得查询结果的某行某列值
- 如何取搜索结果中关键词前后的几十个字
- 有一张300/300的图片,我想把切割成4张200/200的图片,图片边缘填充白色,请问如何实现?
- 寻求算法,比较难的,有助于开发自己智力和逻辑思维的算法
- ASPX中怎么JS文件显示不了中文,而同样内容的ASP文件则可以?(高分)
- 在TreeView中,展开树型后,能否复选子节点,且返回多个值?thanks!
- ado.net 修改dataset数据 update 出现参数 @姓名 没有默认值
- 在线急等 ,帮忙看看下面样式该如何实现
- 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]["列名"] 获得值,也可以修改里面的值,但是新加的列不行,这个我是验证过的.....
这个已经都封装好了的