社区
C#
帖子详情
C# winform中怎么对dataGrid中的列累加求和
zk911
2007-09-14 03:31:29
问题如题
请过路的朋友看一下
...全文
442
8
打赏
收藏
C# winform中怎么对dataGrid中的列累加求和
问题如题 请过路的朋友看一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
孤剑
2007-09-14
打赏
举报
回复
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void test()
{
//System.Diagnostics.Debug.WriteLine(this.textBox1.SelectionStart.ToString());
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = this.CreateTestDataTable();
for (int i = 0; i < 100; i++)
{
dt.Rows.Add(new object[] { i, i });
}
dt.AcceptChanges();
this.dataGridView1.DataSource = dt;
}
private DataTable CreateTestDataTable()
{
DataTable dt = new DataTable("test");
dt.Columns.Add(new DataColumn("index", typeof(int)));
dt.Columns.Add(new DataColumn("number", typeof(int)));
dt.AcceptChanges();
return dt;
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = this.dataGridView1.DataSource as DataTable;
//
if (null == dt)
{
return;
}
long sum = (long)dt.Compute("sum(number)", string.Empty);
MessageBox.Show(sum.ToString());
}
}
}
孤剑
2007-09-14
打赏
举报
回复
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = this.dataGridView1.DataSource as DataTable;
//
if (null == dt)
{
return;
}
long sum = (long)dt.Compute("sum(number)", string.Empty);
MessageBox.Show(sum.ToString());
}
lnwuyaowei
2007-09-14
打赏
举报
回复
cansum396(漆黑的夜)
的方法更有通用性。
shiling_02404
2007-09-14
打赏
举报
回复
DataTable dt=this.DataGrid1.DataSource;
int sumvalue=0; //实际类型依你的而定
for(int i=0;i>dt.Rows.Count;i++)
{
sumvalue=sumvalue+Convert.ToInt32(dr.Rows[i][1]); //把所有行中第一列的值全部加起来.
}
gavinhuanghsc
2007-09-14
打赏
举报
回复
貌似没有
zk911
2007-09-14
打赏
举报
回复
我想通过datagrid求和 有更好的解决方法吗
gavinhuanghsc
2007-09-14
打赏
举报
回复
累计增量求和?通过数据库实现吧
cansum396
2007-09-14
打赏
举报
回复
调用 :Amount((datatable) Datagrid),要求和的列名,1)
public Decimal Amount(DataTable dt,string FieldName,Decimal Curr)
{
Decimal m_Amount=0;
DataTable mdt=new DataTable();
mdt=dt.Copy();
for (int i=0;i<mdt.Rows.Count;i++)
{
if(mdt.Rows[i].RowState.ToString()!="Deleted")
{
if(mdt.Rows[i][FieldName]==DBNull.Value)
{
m_Amount=m_Amount+0;
}
else
{
m_Amount=m_Amount+(Decimal) mdt.Rows[i][FieldName];
}
}
}
if(FieldName=="调整金额")
{
return Math.Round(m_Amount*Curr,2);
}
else
{
return Math.Round(m_Amount*Curr,1);
}
}
C#
WinForm
中
DataGrid
View表格合计功能实现详解
为进一步提升专业感,可利用事件实现精细化控制。统计分析的基础在于对基本数学概念的理解与正确建模。在实际应用
中
,最常见的四个统计量分别是:
求和
(Sum)、平均值(Average)、最大值(Max)、最小值(Min)。它们不仅是决策支持系统的输入依据,也是用户判断数据趋势的重要参考。尽管等方法已足够强大,但在复杂表格
中
仍需更精细的控制。此时应借助事件,实现基于
列
、行或条件的动态渲染。采用三层分离模式提升可维护性:UI层:负责
DataGrid
View展示与用户交互。
Asp.Net
中
C#
实现的
DataGrid
小计,合计和纵向合并的通用方法
//方法定义 /// /// 映射计数器 /// public class MapCounter { protected decimal _counter; protected int _mapIndex; public MapCounter(int mapIndex) {
在
WINFORM
DATAGRID
VIEW
中
添加行汇总
或者在前台取出结果集datatable后,在最后添加一行汇总的。 if (dt != null) { for (int i = 0; i { if (dt.Rows[i]["iquantity"].ToString() == "") dt.Rows[i]["iquantity"] = 0; if (dt.Rows[i]["iSum"].ToString() == "") dt.Rows[i
DataGrid
View多层表头与底部合计行的实现
htmltable {th, td {th {pre {简介:在.NET框架的
DataGrid
View控件
中
,实现多层表头和底部合计行可以增强数据展示功能,让用户更好地理解和分析表格数据。多层表头适用于复杂数据结构的展示,而底部合计行提供数据汇总,如
求和
、平均值等统计信息。通过编程设置和格式化属性,开发者可以创建多层表头并计算显示底部合计行。本实例提供了使用
C#
或VB.NET创建这些特性的详细步骤,并讨论了优化和扩展的可能性,例如动态计算合计和考虑性能问题。
.Net GridView应用:多表头固定+分组+总计
一直在网上找资料来弄个固定表头的东西 有时也想根据有字段来对数据进行分组。 完成了一个项目也把一些经常见到的需求提炼出了一个还比较可以的解决方案。 常见需求: 1、
列
表显示数据 2、滚动滚动条时表头固定 3、按要求将数据分组并计算
求和
这些问题在财务系统
中
经常遇到相比在其他行业也有类似情况,今天下午整理了下资料,来出来和大家分享。 效果图1: 效果图2 :
C#
111,120
社区成员
642,537
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章