2009-04-02 17 views
2

文字列型のデータテーブルで2行の合計を計算するにはどうすればよいですか?
私の場合、私は列の種類を変更することはできません。
私はこれらを試しました:文字列型のDataTable列の合計

1)オブジェクトobjSum;
objSum = dt.Compute( "Sum(WeightRate)"、 "");

2)小数点合計=(小数)dt.Compute( "SUM([WeightRate])"、 "");

が、運...

マイテーブル:
Weightrate No.Ofvehicles
350.50 50
205.00 40

私は

Weightrate No.Ofvehicle
555.50となる必要があります90

答えて

7

Compute me THODは、いくつかの基本的な型変換が可能になります:

var sum = dt.Compute("Sum(Convert(WeightRate, 'System.Int32'))"); 

を使用すると、計算メソッドの呼び出しで何ができるかについての詳細はDataColumn Expressions上のMSDNのヘルプを参照してください。

質問をもう一度読んで、System.Int32ではなくSystem.Decimalに変換したいと思うかもしれませんが、うまくいけば分かります。 ;-)

+0

はい...ありがとうございます。 – Guddu

+0

@Matt:この質問を再度開いて申し訳ありません。別の質問(http://stackoverflow.com/questions/8928748/syntaxerrorexception-using-datatable-compute-method-to-get-sum-of-a-converted-st/)では、同じことが機能しませんでした。あなたのコードが上に貼り付けられたリンクで動作するかどうか確認してください。ありがとう!! – shahkalpesh

+0

それは私のために働いていません。私はvb.netの 'Dt.Compute(" Convert(deliveredqty、 'System.Double'))))) ''コンパイル時エラー 'Arugument of filter is missing'のように' Dt.Compute ( "Convert(deliveredqty、 'System.Double'))"、 "")) 'しかし、それは動作していません – Sathish