[ad_1]
こんにちは。
データグリッドビューに小計を挿入すると、コードは総計の変更を再計算します。
私のループ。 すべてを数える
あなたの助けやアイデアが必要です。
私が試したこと:
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
解決策 1
コードに次の行があります。
VB
somme = String.Format("{0:##,##0.000}", CDbl(somme.ToString))
したがって、double 値を文字列に変換し、それを呼び出しで使用するために double に戻すことができます。 String.Format
、これは少し無意味です。 ただし、その文字列を使用して次の値を設定します。 somme
、これは double として宣言されます。 これらはすべて意味がないので、そのコード行を削除してください。
解決策 2
あなたのコメントに基づいて –
引用:datagridview イベントでコードを更新すると、ラベルの総計が変更されます
例
最初のアイテム $1
2 番目の項目 $2
小計 $3
私のラベルには $6 が表示されるか、$3 を表示する場所が表示されます
データグリッドを更新するときに、更新された合計を表示するために元の合計をクリアしていません –
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]
コメント