Sčítanie stlpcov do label   otázka

VB.NET

Dobrý deň. Môžte prosím poradiť s týmto kódom?

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim a As Decimal = CDec(TextBox1.Text)
        Dim b As Decimal = CDec(TextBox2.Text)
        Dim c As Decimal = b - a
        TextBox3.Text = CDec(c)

        Dim sum As Decimal = TextBox3.Text
        For i As Integer = 0 To ListView1.Items.Count - 1
            sum = sum + CDec(ListView1.Items(i).SubItems(2).Text)
        Next
        Label2.Text = sum

        Dim s As Decimal = CDec(TextBox3.Text)
        Dim d As Decimal = CDec(TextBox4.Text)
        Dim f As Decimal = CDec(TextBox6.Text)
        Dim g As Decimal = c * d + f
        TextBox7.Text = CDec(g)

        Dim sum As Decimal = TextBox7.Text
        For i As Integer = 0 To ListView1.Items.Count - 1
            sum = sum + CDec(ListView1.Items(i).SubItems(2).Text)
        Next

        Label7.Text = sum

        Dim k As Decimal = CDec(TextBox7.Text)
        Dim m As Decimal = CDec(TextBox5.Text)
        Dim t As Decimal = m - k
        TextBox8.Text = CDec(t)

        Dim sum As Decimal = TextBox8.Text
        For i As Integer = 0 To ListView1.Items.Count - 1
            sum = sum + CDec(ListView1.Items(i).SubItems(2).Text)
        Next
        Label8.Text = sum

     ListView1.Items.Add(New ListViewItem({TextBox1.Text, TextBox2.Text, TextBox3.Text, TextBox4.Text, TextBox5.Text, TextBox6.Text, TextBox7.Text, TextBox8.Text.ToString()}))
    End Sub

Všetko mi počíta správne. Prvý výpočet mi sčíta celý stĺpec do Label2, ale druhý výpočet stlpca potrebujem dostať do Label7 a tretí výpočet stĺpca do Label8 a neviem ako nato. Ak vie niekto poradiť, alebo poopraviť vopred Ďakujem!!!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Když použijete tlačítko pro psaní kód, tak to bude pěkně přehledné a bude se dát z toho něco vyčíst. Takto není vidět, co k čemu patří...

Co když vám někdo do toho textboxu napíše místo čísla "text"? Když už nechcete ošetřovat chyby v psaní, použijte místo textboxu komponentu NumericUpDown, ta vám alespoň zajistí, že tam bude číslo.

V jedné metodě máte několikrát deklarováno

Dim sum as Decimal

Když chcete mít několik různých výpočtů měl byste si je pojmenovat každý jinak, protože program nemůže tušit, který ten sum chcete vlastně sečíst a kam.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ono by obecně bylo lepší nehledat chyby v uvedeném kódu, ale raději ho celý přepsat. Určitě bych doporučil prostudovat některý z článků/tutoriálů zde na webu.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Má být snad součet pokaždé z jiného sloupce?

ListView.SubItems(x).Textx počínaje 0 do počet sloupců-1 je číslo sloupce ke sčítání

Funkce na sčítání :

    Private Function SumOfListViewColumn(ByVal ColumnIndex As Integer) As Decimal
        For i As Integer = 0 To ListView1.Items.Count - 1
            If IsNumeric(ListView1.Items(i).SubItems(ColumnIndex).Text) Then _
                SumOfListViewColumn = SumOfListViewColumn + CDec(ListView1.Items(i).SubItems(ColumnIndex).Text)
        Next
    End Function

Pak :

    Label7.Text = SumOfListViewColumn(2) 'součet třetího sloupce
    
    Label8.Text = SumOfListViewColumn(3) 'součet čtvrtého sloupce
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ďakujem za kód, ale nefunguje to správne. Nech robím čo chcem vždy robí to isté.

Do Label2 počíta správne tretí stĺpec, ale do Label7 počíta tretí a siedmi stĺpec.

Do Label8 počíta tretí a piaty stĺpec.

A ja by som potreboval sčítať osobne do Label2 - tretí stĺpec

Label7 - siedmi stĺpec

Label8 - osmi stĺpec

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback