2010-05-24 4 views
2

열 ("Profit")이있는 DataTable이 있습니다. 내가 원한다면이 표의 모든 값의 합계를 구하는 것입니다. ... 어떻게 내가 변수DataView 필터에서 집계 함수 사용

감사의 이익 컬럼의 합계를 얻을 수 있습니다 나는 ... 다음과 같은 방식으로

DataTable dsTemp = new DataTable(); 

dsTemp.Columns.Add("Profit"); 

DataRow dr = null; 

dr = dsTemp.NewRow(); 
dr["Profit"] = 100; 
dsTemp.Rows.Add(dr); 

dr = dsTemp.NewRow(); 
dr["Profit"] = 200; 
dsTemp.Rows.Add(dr); 

DataView dvTotal = dsTemp.DefaultView; 
dvTotal.RowFilter = " SUM (Profit) "; 

DataTable dt = dvTotal.ToTable(); 

을이 작업을 수행하려고하지만 필터를 적용하는 동안 오류가 발생합니다 당신이 ...

답변

3

가 숫자 유형으로 DataColumn에 설정 (INT, 진수, 무엇이든) :

DataColumn col = new DataColumn("Profit", typeof(int)); 
dsTemp.Columns.Add(col); 

사용 Compute :

int total = dsTemp.Compute("Sum(Profit)", ""); 

집계는 필터 유형이 아니며, 이는 사용자가 접근하는 방식의 주된 문제입니다.

+0

감사합니다. 대단히 감사합니다. 돌보기 – Shrewdroid

관련 문제