DataTable da = CommonBLL.GetList("*", "sys_dict", "IfState=1 and DictTypeId=14");

            string strField = "CACCNUM as 账号账号,Loannumber as 借据号,BILLDATE as 借款时间,CAName as 借款人姓名,CPOSITION as 质押商品房位置,LoanAmount as 借款总额,";
for (int i = ; i < da.Rows.Count; i++)
{
strField += " case when xqName ='" + da.Rows[i]["DictName"].ToString() + "' then LoanAmount else null end as " + da.Rows[i]["DictName"].ToString() + "_借款总额,";
}
strField += "Rateval as 年利率,Endratedata as 到期时间,CTEL 借款人固定电话,CMOBILE as 借款人手机号,CSSNUMBER as 身份证号,CADDRESS as 住址,CWORK as 所在单位,Realtor as 售楼员,Proportion as 首付比例,RepayAmountSum as 己还本金合计,";
for (int i = ; i < da.Rows.Count; i++)
{
strField += " case when xqName ='" + da.Rows[i]["DictName"].ToString() + "' then RepayAmountSum else null end as " + da.Rows[i]["DictName"].ToString() + "_己还本金合计,";
}
strField += "RepayRateSum as 已清利息合计,";
for (int i = ; i < da.Rows.Count; i++)
{
strField += " case when xqName ='" + da.Rows[i]["DictName"].ToString() + "' then RepayRateSum else null end as " + da.Rows[i]["DictName"].ToString() + "_已清利息合计,";
}
strField += "RepaySum as 本息合计,SurplusSum as 剩余本金合计 ,";
for (int i = ; i < da.Rows.Count; i++)
{
strField += " case when xqName ='" + da.Rows[i]["DictName"].ToString() + "' then SurplusSum else null end as " + da.Rows[i]["DictName"].ToString() + "_剩余本金合计,";
}
strField += "Repay as 已还清";
DataTable dt = JZCard.BLL.CommonBLL.GetList(strField, "v_finance_billloan_list", _strWhere);
decimal JkHj = Commons.ParseDecimalValue(dt.Compute("sum(借款总额)", ""));
decimal YHBJHJ = Commons.ParseDecimalValue(dt.Compute("sum(己还本金合计)", ""));
decimal YQLXHJ = Commons.ParseDecimalValue(dt.Compute("sum(已清利息合计)", ""));
decimal BXHJ = Commons.ParseDecimalValue(dt.Compute("sum(本息合计)", ""));
decimal SYBXHJ = Commons.ParseDecimalValue(dt.Compute("sum(剩余本金合计)", "")); DataRow dr = dt.NewRow();
dr["账号账号"] = "合计";
dr["借款总额"] = JkHj;
dr["己还本金合计"] = YHBJHJ;
dr["已清利息合计"] = YQLXHJ;
dr["本息合计"] = BXHJ;
dr["剩余本金合计"] = SYBXHJ; dt.Rows.Add(dr);
// c#如何设置DataGridView的自动创建列
this.dg_BillLoanList.AutoGenerateColumns = true; this.dg_BillLoanList.DataSource = dt;

C# 实现动态添加列,新增合计行,求和的更多相关文章

  1. asp.net gridview动态添加列,并获取其数据;

    1,绑定数据前先动态添加列,见方法CreateGridColumn(只在第一次加载动态添加): 2,gvlist_RowDataBound为对应列添加控件: 前台代码: <%@ Page Lan ...

  2. [转]RDLC报表——动态添加列

    本文转自:http://www.cnblogs.com/pszw/archive/2012/07/19/2599937.html 前言 最近接到一个需求:在给定的数据源中,某(些)列,可能需要单独统计 ...

  3. GridView动态添加列之后,导致PostBack(回发)页面数据丢失问题解决

    直入主题,首先声明,这个问题是无法解决的,特此在这说明 一.如何动态添加列,如下: 在页面重写OnInit事件,至于为什么要在这个事件写,根据页面的声明周期和经验可知(不用去别的地方找了,这个我找了之 ...

  4. Wpf DataGrid动态添加列,行数据(二)

    这是第二中方法,可直接绑定,我这里只是做出了一种思路,并不是最完美. 这里注意一下,因为我里面引用了MVVMLight,所以可能代码不是复制过去就能用了的. 样式也是,所以复制过去看不是我贴出来的界面 ...

  5. C# DataGridView 动态添加列和行

    https://blog.csdn.net/alisa525/article/details/7350471 dataGridView1.ReadOnly = true ;      //禁用编辑功能 ...

  6. DataGridview动态添加列

    1.获取数据源(select * from table名称) 2.动态绑定数据源 private void GetTableInfo(DataTable dt) { listBh = new List ...

  7. Wpf DataGrid动态添加列,行数据(一)

    由于最近有这方面的需求,而且刚接触wpf不久,在网上找了很多方法,都不是使用MVVM模式的,因为DataGrid的列不能绑定 这就难受了,我想了个折中的方法,这个是使用了MVVMLight的消息机制, ...

  8. gridview动态添加列的问题

    相信大家也和我一样遇到过这种问题,gridview在生成列的时候当列不确定怎么办?下面分享一下自己的解决方法. 举个列子说明一下. 普通列的添加比较简单. BoundField bf = new Bo ...

  9. GridView动态添加列并判断绑定数据DataTable的列类型控制展示内容

    此篇随笔是2013年根据项目需求开发记录的,不一定符合大众口味,只需了解开发思路,毕竟解决方案多种多样. 下面简单说说需求点吧: (1)通过下拉列表可以选择一个DataSet(数据集),一个DataS ...

随机推荐

  1. [学习笔记]2-SAT 问题

    (本文语言不通,细节省略较多,不适合初学者学习) 解决一类简单的sat问题. 每个变量有0/1两种取值,m个限制条件都可以转化成形如:若x为0/1则y为0/1等等(x可以等于y) 具体: 每个变量拆成 ...

  2. Naming Company CodeForces - 794C

    Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little thi ...

  3. 题解 【luogu P2680 NOIp提高组2015 运输计划】

    题目链接 题解 题意 一棵树上有\(m\)条路径,可以将其中一条边的权值改为0,问最长的路径最短是多少 分析 最短的路径最长自然想到二分最长路径,设其为\(dis\) 关键在于如何check chec ...

  4. 汕头市队赛SRM 20 T3 灵魂觉醒

    背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...

  5. 【比赛】洛谷夏令营NOIP模拟赛

    Day1 第一题 水题 第二题 题意:一个n*m的字符矩阵从左上到右下,经过字符形成回文串的路径数.n≤500 回文串,考虑两段往中间DP. f[k][x][y]表示走了k步,左上点横坐标为x,右下点 ...

  6. 【51NOD】消灭兔子

    [算法]贪心 #include<cstdio> #include<algorithm> #include<cstring> #include<queue> ...

  7. 所有和Java中代理有关的知识点都在这了。

    对于每一个Java开发来说,代理这个词或多或少都会听说过.你可能听到过的有代理模式.动态代理.反向代理等.那么,到底什么是代理,这么多代理又有什么区别呢.本文就来简要分析一下. 代理技术,其实不只是J ...

  8. 【自己练习】linux常见命令——(六)

    菜鸟教程命令大全 http://www.runoob.com/linux/linux-command-manual.html 命令大全:      http://man.linuxde.net/ ta ...

  9. [CTF技巧]批量连接SSH批量执行命令

    https://files.cnblogs.com/files/nul1/autossh1.3.jar.zip 下载下来以后直接将后缀去除就好了. 比赛的时候可以批量写一个不死马然后你懂的. Linu ...

  10. 如何才可以干掉Cortana进程,开机不启动

    直接禁用即可WIN——设置——隐私——语音.墨迹书写和键入——停止收集有关我的信息——关闭