[ad_1]
Hai.
Saat saya memasukkan subtotal di datagridview, kode tersebut menghitung ulang perubahan total keseluruhan
lingkaran saya. hitung semuanya
Saya butuh bantuan atau ide Anda.
Apa yang saya coba:
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
Solusi 1
Anda memiliki baris berikut dalam kode Anda:
somme = String.Format("{0:##,##0.000}", CDbl(somme.ToString))
Jadi, Anda mengonversi nilai ganda menjadi string, sehingga Anda kemudian dapat mengonversinya kembali menjadi ganda, untuk menggunakannya dalam panggilan ke String.Format
, yang agak tidak ada gunanya. Namun Anda kemudian menggunakan string itu untuk menetapkan nilainya somme
, yang dinyatakan sebagai ganda. Semuanya tidak masuk akal, jadi hapus baris kode itu.
Solusi 2
Berdasarkan komentar Anda –
Mengutip:Saat saya menyegarkan kode dengan acara datagridview, total keseluruhan label saya berubah
contoh
item pertama $1
item kedua $2
Jumlah keseluruhan $3
Label saya menampilkan $6 atau tempat untuk menampilkan $3
Anda tidak menghapus total asli untuk menampilkan total yang disegarkan saat Anda menyegarkan datagrid Anda –
'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]
コメント