在datagridview中获取借记,贷记和余额C# [英] Get debit, credit and balance in datagridview C#

查看:89
本文介绍了在datagridview中获取借记,贷记和余额C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从SQLTABLE中显示我的价值

有4列的SQLTABLE(ID,ITEMS_REF_NO,CR,DR)。



 ID | ITEMS_REF_NO | CR | DR | 
1 | MAHESH | 100 | 0 |
2 | SURESH | 500 | 0 |
3 | KAPOOR | 400 | 0 |
4 | GULAM | 0 | 200 |
5 | SINGH SHA | 0 | 100 |
6 | RANVIR | 0 | 050 |





现在我想在DATAGRIDVIEW中显示

 ID | ITEMS_REF_NO | CR | DR | BAL | 
1 | MAHESH | 100 | 0 | 100 |
2 | SURESH | 500 | 0 | 600 |
3 | KAPOOR | 400 | 0 | 1000 |
4 | GULAM | 0 | 200 | 800 |
5 | SINGH SHA | 0 | 100 | 700 |
6 | RANVIR | 0 | 050 | 650 |





有人请帮助



我有什么尝试过:



............................ .............................

解决方案

在c#中尝试这个



 DataTable dtSql =  new  DataTable(); 
dtSql.Columns.Add( ID);
dtSql.Columns.Add( ITEMS_REF_NO);
dtSql.Columns.Add( CR);
dtSql.Columns.Add( DR);
dtSql.Rows.Add( 1 Mahesh 100 0 );
dtSql.Rows.Add( 1 SURESH 500 0 );
dtSql.Rows.Add( 1 KAPOOR 400 0 );
dtSql.Rows.Add( 1 GULAM 0 200 );
dtSql.Rows.Add( 1 SINGH SHA 0 100 );
dtSql.Rows.Add( 1 RANVIR 0 050 );

dtSql.Columns.Add( BAL);
for int i = 0 ; i < dtSql.Rows.Count; i ++)
{
double cr,dr,bal;
double .TryParse(dtSql.Rows [i] [ CR]。ToString(), out cr);
double .TryParse(dtSql.Rows [i] [ DR]。ToString(), out dr);
double .TryParse(dtSql.Rows [i - 1 == -1? 0 :i - 1 ] [ BAL]。ToString(), out bal);
bal = bal + cr - dr;
dtSql.Rows [i] [ BAL] = bal.ToString();
}

dataGridView1.DataSource = dtSql;


如果您使用的是SQL Server 2012或更高版本,请在查询:

  SELECT  ID,ITEMS_REF_NO,CR,DR,
SUM(CR - DR) OVER ORDER BY ID
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
AS BAL
FROM MyTable2


I WANT TO DISPLAY MY VALUES FROM SQLTABLE
SQLTABLE HAVING 4 COLUMNS (ID, ITEMS_REF_NO, CR, DR).

ID | ITEMS_REF_NO | CR  | DR |
1  | MAHESH       | 100 | 0  |
2  | SURESH       | 500 | 0  |
3  | KAPOOR       | 400 | 0  |
4  | GULAM        | 0   |200 |
5  | SINGH SHA    | 0   |100 |
6  | RANVIR       | 0   |050 |



NOW I WANT TO DISPLAY IN DATAGRIDVIEW LIKE

ID | ITEMS_REF_NO | CR  | DR | BAL |
1  | MAHESH       | 100 | 0  | 100 |
2  | SURESH       | 500 | 0  | 600 |
3  | KAPOOR       | 400 | 0  | 1000|
4  | GULAM        | 0   |200 | 800 |
5  | SINGH SHA    | 0   |100 | 700 |
6  | RANVIR       | 0   |050 | 650 |



SOMEONE PLEASE HELP

What I have tried:

.........................................................

解决方案

try this in c#

DataTable dtSql = new DataTable();
           dtSql.Columns.Add("ID");
           dtSql.Columns.Add("ITEMS_REF_NO");
           dtSql.Columns.Add("CR");
           dtSql.Columns.Add("DR");
           dtSql.Rows.Add(1, "Mahesh", 100, 0);
           dtSql.Rows.Add(1, "SURESH", 500, 0);
           dtSql.Rows.Add(1, "KAPOOR", 400, 0);
           dtSql.Rows.Add(1, "GULAM", 0, 200);
           dtSql.Rows.Add(1, "SINGH SHA", 0, 100);
           dtSql.Rows.Add(1, "RANVIR", 0, 050);

           dtSql.Columns.Add("BAL");
           for (int i = 0; i < dtSql.Rows.Count; i++)
           {
               double cr, dr, bal;
               double.TryParse(dtSql.Rows[i]["CR"].ToString(), out cr);
               double.TryParse(dtSql.Rows[i]["DR"].ToString(), out dr);
               double.TryParse(dtSql.Rows[i - 1 == -1 ? 0 : i - 1]["BAL"].ToString(), out bal);
               bal = bal + cr - dr;
               dtSql.Rows[i]["BAL"] = bal.ToString();
           }

           dataGridView1.DataSource = dtSql;


If you are using SQL Server 2012 or higher, do it in the query:

SELECT ID, ITEMS_REF_NO, CR, DR,
       SUM(CR - DR) OVER(ORDER BY ID
                    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) 
                    AS BAL
FROM MyTable2


这篇关于在datagridview中获取借记,贷记和余额C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆