2013-07-13 4 views
0

안녕하세요. DataTableDataGridView에 바인딩하고 일부 금액 필드와 함께 일부 열을 바인딩합니다.데이터 테이블에 행을 추가하여 원하는 열의 금액 합계를 표시해야합니다.

DataGridView에 제출 된 각 금액에 대한 열의 합계를 표시해야합니다. 이미 많은 옵션을 검색하여 DataGridView에 꼬리말을 추가했습니다. DataTable에 몇 개의 열을 합산하여 DataGridView에 데이터를 표시 할 수 있습니까?

이다 대략 내 데이터 테이블 데이터 :

Name Address Amount DiscountAmount 
    XYZ ABC  100.00   20.00 
    ABC DEF  150.00   0.00 

필수 결과는 다음과 같습니다

Name Address Amount DiscountAmount 
    XYZ ABC  100.00   20.00 
    ABC DEF  150.00   0.00 
        250.00   20.00 

은 이미 다음과 같이 몇 가지 일을 시도 - 그것은 작동하지 않았다 :

DataRow lRow = lDTGrid.NewRow(); 
lRow[0] = "Totals"; 
for (int i = 1; i < lDTGrid.Columns.Count; i++) 
{ 
    lRow[lDTGrid.Columns[i].ColumnName] = lDTGrid.Compute("Sum(" + lDTGrid.Columns[i].ColumnName + ")", ""); 
} 
+0

[foreach] (http://msdn.microsoft.com/en-us/library/aa288257%28v=vs.71%29.aspx)를 사용하지 않는 이유가 무엇입니까? 이렇게해도 문제가 해결되지는 않지만 코드를 더 간단하게 만들어야합니다. – tjameson

답변

0

DataTable.Compute() 방법을 사용해 보셨습니까

private void ComputeBySalesSalesID(DataSet dataSet) 
{ 
    // Presumes a DataTable named "Orders" that has a column named "Total." 
    DataTable table; 
    table = dataSet.Tables["Orders"]; 

    // Declare an object variable. 
    object sumObject; 
    sumObject = table.Compute("Sum(Total)", "EmpID = 5"); 
} 
0

DataGridview에서 행을 사용해야합니까? Dataagridview에서 텍스트 상자를 사용할 수 없습니까? 훨씬 쉽고 여전히 깔끔합니다.

이벤트를 사용하지 않도록 설정할 수 있으며 이벤트 (셀 편집, 행 추가 또는 일부 유사) 중 하나에서 열의 합계를 입력 할 수 있습니다.

관련 문제