在datagridview中获取借记,贷记和余额C# [英] Get debit, credit and balance in datagridview C#
本文介绍了在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屋!
查看全文