2012-07-09 29 views
5

Tôi có một biểu mẫu cửa sổ với một Datagridview trong đó chứa dữ liệu từ một tệp xml. DGV được thiết lập như sau: Ngày, Sản phẩm, GiáC# Datagridview Tính toán hàng

Có 10 hàng dữ liệu.

Tôi đang cố gắng tính toán thay đổi về Giá từ một hàng sang hàng kế tiếp và gặp khó khăn khi tìm giải pháp. Ví dụ:

1/1/12, ABC, $2.00 
1/1/12, ABC, $2.50 

Net Change: .50 

Trên các cột Tôi có thể sử dụng Table.Columns.Expression, nhưng không rõ làm cách nào tôi có thể tính toán này trừ đi trước đó so với hiện tại.

Tôi đã nghĩ về việc lặp qua các cột, thêm vào bảng mới và tính toán theo cách đó, nhưng có vẻ như một giải pháp phụ. Khi tôi nhận được Id thay đổi, hãy thêm vào đó để Datagridview.

đã không được kiểm tra, nhưng một cái gì đó như thế này:

if (dataGridView1.Rows.Count > 0) 
{ 
    specifier = "###,###.00"; 

    double tier1Minus = 0; 
    double tier2Minus = 0; 

    for (int i = 0; i < dataGridView1.Rows.Count; ++i) 
    { 
     tier1Minus += Convert.ToDouble(dataGridView1.Rows[i].Cells["Price"].Value); 

     tier2Minus += Convert.ToDouble(dataGridView1.Rows[i+1].Cells["Price"].Value); 
    } 

    // then add to dataGridView1 
} 

Trả lời

3

Tại sao không chỉ làm điều gì đó tương tự như (chưa được kiểm tra):

for(int i = 0; i < dataGridView1.Rows.Count - 1; i++) 
    dataGridView1.Rows[i+1].Cells["NetChange"].Value = 
     Convert.ToDouble(dataGridView1.Rows[i+1].Cells["Price"].Value) - 
     Convert.ToDouble(dataGridView1.Rows[i].Cells["Price"].Value); 

Hoặc tốt hơn, tính toán nó lần đầu tiên bạn nhập dữ liệu từ tệp và chèn các hàng.

+0

ah! Tôi đã không nghĩ về việc tham khảo nó theo cách đó. Tôi sẽ thử. Cảm ơn! – JAS

+0

Đảm bảo sắp xếp bị tắt – Jesse