2017-08-16 3 views
0

enter image description hereは、私が上記の一つとしてのDataGridViewを持つ主宰セル値vb.net

の値に加算/減算値を追加します。私は、バランスを取る必要があります。つまり、与信または借方の価値を加盟行の残高の値に加算または減算します。多くの方法があるが、ここでは1列の値を合計し、NumericUpDownをにつながる置く方法である -

+0

あなたのDataGridViewにデータを提供するにはどうすればよいですか?データを 'datagridview'に挿入する前に計算することができます – kiLLua

+0

残高を除くすべてのエントリはデータベースからのものです –

+0

データベースクエリを使用する場合は、おそらくサブセレクトを使用して残高を取得することができますアプリケーション側で何かを行う。 [this](https://stackoverflow.com/questions/18201600/sql-sum-operation-of-multiple-subqueries)のようなビット – Bugs

答えて

0

1)あなたは、データベースクエリに

2)クライアント側をSUM(XXX)を行うことができます。

Dim SumVal1 as int32 
For ir = 0 to Me.dgw.rows.count - 1 
    Dim dr as DataGridViewRow = me.dgw.rows(ir) 
    SumVal1 += dr.Cell("Val1Column").value 
next ir 
Me.ResultNumericUpDown.Value = SumVal1 

あなたは同様の方法で、余分な行に挿入することができ、しかし、私は1つのDataGridViewに結合および非結合データを組み合わせることについては非常に慎重になるだろう。できるなら、それを避けてください。どちらかがクエリでデータ操作を行う、または データの読み出しの後に次のステップを行うと、あなたはのDataGridViewにデータをバインドする前に:

Dim ds as new dataSet 
ds = DAL.MyDBreadFuncion(cmdText) '-- read data from database 
Dim dt as new DataTable '-- create new datatable to manipulate data 
dt = ds.tables(0) 
dt.rows.add() '-- add an empty row 

Dim SumVal1 as int32 
For ir = 0 to dt.rows.count - 2 ' skip last row, keep it for results 
    Dim dr as DataRow = dt.rows(ir) 
    SumVal1 += dr("Val1Column") 
next ir 
dt.rows(dt.rows.count -1)("Val1Column") = SumVal1 

Me.dgw.datasource = dt ' add manipulated dataTable to DataGridView source 
+0

うまく働いた。ありがとう –

関連する問題