Vấn đề tính toán tổng số datagridview

lập trình

[ad_1]

CHÀO.
Khi tôi chèn tổng phụ vào datagridview, mã sẽ tính toán lại tổng số thay đổi
vòng lặp của tôi. đếm mọi thứ
Tôi cần sự giúp đỡ của bạn hoặc ý tưởng của bạn xin vui lòng.

Những gì tôi đã thử:

VB
Private Sub BtnSum_Click(sender As Object, e As EventArgs) Handles BtnSum.Click
    Dim somme As Double
    For x As Integer = 0 To DgvDevisClent.Rows.Count - 1
        somme += CType(DgvDevisClent.Rows(x).Cells(4).Value, Double)
    Next
    somme = String.Format("{0:##,##0.000}", CDbl(somme.ToString))
    DgvDevisClent.Rows.Insert(DgvDevisClent.CurrentRow.Index + 1, 1)
    DgvDevisClent.CurrentCell = DgvDevisClent.Rows(DgvDevisClent.CurrentRow.Index + 1).Cells(0)
    DgvDevisClent.CurrentRow.Cells(4).Value = somme
    DgvDevisClent.Focus()
End Sub

Giải pháp 1

Bạn có dòng sau trong mã của mình:

VB
somme = String.Format("{0:##,##0.000}", CDbl(somme.ToString))

Vì vậy, bạn chuyển đổi giá trị kép thành một chuỗi để sau đó bạn có thể chuyển đổi nó trở lại thành giá trị kép để sử dụng nó trong lệnh gọi tới String.Format, điều đó hơi vô nghĩa. Nhưng sau đó bạn sử dụng chuỗi đó để đặt giá trị của somme, được khai báo là gấp đôi. Tất cả những điều đó đều vô nghĩa, vì vậy hãy loại bỏ dòng mã đó.

Giải pháp 2

Dựa trên nhận xét của bạn –

Trích dẫn:

Khi tôi làm mới mã bằng sự kiện datagridview, tổng số thay đổi trong nhãn của tôi
ví dụ
mục đầu tiên $1
mục thứ hai $2
Tổng phụ $3
Nhãn của tôi hiển thị $6 hoặc vị trí hiển thị $3

Bạn không xóa tổng số ban đầu để hiển thị tổng số được làm mới khi bạn làm mới lưới dữ liệu của mình –

VB
'Clear your label of all totals...
YourLabel.Text = ""

'Recalculate the total and update your label with the correct total...
Dim somme As Double
For x As Integer = 0 To DgvDevisClent.Rows.Count - 1
    somme += CType(DgvDevisClent.Rows(x).Cells(4).Value, Double)
Next
somme = String.Format("{0:##,##0.000}", CDbl(somme.ToString))

'Display the updated total in your label, PAY ATTENTION to the above solution and comments though...
YourLabel.Text = somme

[ad_2]

コメント

タイトルとURLをコピーしました