German Auslesen einer Tabelle in eine Textbox und löschen von "0,00-Ergebnissen"

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo Forum,

ich habe aus einer Tabelle 9 Zeilen mit je 4 Werten und diese werden in eine TextBox geschrieben mit diesem Code:
B4X:
Einzelauflistung.Text = "Einzel-Auflistung: "&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 0)&" = "&lvTabelle.CellGet("Gewicht", 0)&" Gramm ("&lvTabelle.CellGet("Karat", 0)&" Karat) = "&lvTabelle.CellGet("Euro", 0)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 1)&" = "&lvTabelle.CellGet("Gewicht", 1)&" Gramm ("&lvTabelle.CellGet("Karat", 1)&" Karat) = "&lvTabelle.CellGet("Euro", 1)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 2)&" = "&lvTabelle.CellGet("Gewicht", 2)&" Gramm ("&lvTabelle.CellGet("Karat", 2)&" Karat) = "&lvTabelle.CellGet("Euro", 2)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 3)&" = "&lvTabelle.CellGet("Gewicht", 3)&" Gramm ("&lvTabelle.CellGet("Karat", 3)&" Karat) = "&lvTabelle.CellGet("Euro", 3)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 4)&" = "&lvTabelle.CellGet("Gewicht", 4)&" Gramm ("&lvTabelle.CellGet("Karat", 4)&" Karat) = "&lvTabelle.CellGet("Euro", 4)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 5)&" = "&lvTabelle.CellGet("Gewicht", 5)&" Gramm ("&lvTabelle.CellGet("Karat", 5)&" Karat) = "&lvTabelle.CellGet("Euro", 5)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 6)&" = "&lvTabelle.CellGet("Gewicht", 6)&" Gramm ("&lvTabelle.CellGet("Karat", 6)&" Karat) = "&lvTabelle.CellGet("Euro", 6)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 7)&" = "&lvTabelle.CellGet("Gewicht", 7)&" Gramm ("&lvTabelle.CellGet("Karat", 7)&" Karat) = "&lvTabelle.CellGet("Euro", 7)&" €"&CRLF&"Nr. "&lvTabelle.CellGet("Nr", 8)&" = "&lvTabelle.CellGet("Gewicht", 8)&" Gramm ("&lvTabelle.CellGet("Karat", 8)&" Karat) = "&lvTabelle.CellGet("Euro", 8)&" €"&CRLF&"Gesamtsumme: "&LabelSumme.Text&""
Das funktioniert auch, aber das Ergebnis ist folgendes:
Einzel-Auflistung:
Nr. 1 = 0,00 Gramm (750 Karat) = 0,00 €
Nr. 2 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 3 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 4 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 5 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 6 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 7 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 8 = 0,00 Gramm ( Karat) = 0,00 €
Nr. 9 = 0,00 Gramm ( Karat) = 0,00 €
Gesamtsumme: 0,00 €

Es wäre schön, wenn ich eine Lösung hätte, die mir nur die Zeilen zeigt, die tatsächliche Ergebnisse zeigen. Es sollen also alle Zeilen mit einem Ergebnis "0,00" ausgeblendet werden und die Liste soll sich dabei um die ausgeblendeten Zeilen verkürzen.

Beispiel (bei 3 Zeilen):
Nr. 1 = 10,00 Gramm (750 Karat) = 75,00 €
Nr. 2 = 20,00 Gramm (333 Karat) = 66,00 €
Nr. 3 = 30,00 Gramm (999 Karat) = 99,00 €
Gesamtsumme: 240,00 €

Um die Formatierung will ich mich später auch noch bemühen (links ausgerichtet und rechts ausgerichtet), das ist aber erstmal ein anderes Problem.

Ich habe schon die SuFu bemüht und mit "If ... Then" herumexperimentiert, leider ohne brauchbare Ergebnisse. :confused:

Hat jemand einen Tipp?

Vielen Dank schon mal im Voraus !!!
 

specci48

Well-Known Member
Licensed User
Longtime User
Hallo JOTHA,

anbei (mal wieder) ein Beispiel von mir.

Die interne Beispieltabelle soll Deine ListView mit Einträgen simulieren. Anschließend wird die TextBox Zeile für Zeile dynamisch gefüllt. Kopf- und Fußzeile sind immer vorhanden. Die restlichen Zeilen erscheinen immer dann, wenn der "Gramm"-Wert nicht "0,00" ist. Diese Prüfung kannst Du ja noch bei Bedarf anpassen. Und Du must natürlich CellGet statt Cell verwenden...


Gruß
specci48
 

Attachments

  • TextBoxFuellen.sbp
    1.4 KB · Views: 209

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo specci48,

DU warst wieder mal superschnell - Vielen Dank!
... anbei (mal wieder) ein Beispiel von mir.
Das werde ich gleich mal testen !

Inzwischen habe ich (ohne dein Beispiel vorher gesehen zu haben) weiter experimentiert und bin zu folgendem Ergebnis gekommen:
B4X:
   Einzelauflistung.Text = ""&mZusammenfassung.lvTabelle.CellGet("Euro", 0)&" €"
   If   mZusammenfassung.LVTabelle.Cellget ("Euro", 0) = "0,00" Then
   Einzelauflistung.Text = "Diese Zeile soll eigentlich GELÖSCHT werden."
   Else
   Einzelauflistung.Text = "Diese Zeile soll ANGEZEIGT werden."
   End If
Das ist natürlich nur eine Zwischenlösung, aber vielleicht kann das auch mal jemand gebrauchen.

Wenn im Ergebnis in der Spalte "Euro" der Wert "0,00" steht, dann wird
"Diese Zeile soll eigentlich GELÖSCHT werden." generiert.

Wenn im Ergebnis in der Spalte "Euro" ein anderer Wert als "0,00" steht, dann wird "Diese Zeile soll ANGEZEIGT werden." generiert.

So, und jetzt lade ich dein Beispiel herunter und teste es!

Ich melde mich dann wieder.

Vielen Dank nochmals. :sign0060:
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Die Tabelle funktioniert Super !

Hallo specci48,

dein Beispiel funktioniert super, es ist genau das was ich meinte.

Jetzt muß ich das nur noch in meine App einbauen und hoffen, das es da auch noch funktioniert.

DANKE nochmals für die schnelle Hilfe !!!

P.S.: Die ListView-Tabelle von Filippo habe ich wegen der Möglichkeit der Ausrichtung in den Spalten genommen. Sieht einfach besser aus, wenn unterschiedlich große Euro-Summen links ausgerichtet sind.
 

specci48

Well-Known Member
Licensed User
Longtime User
Sieht einfach besser aus, wenn unterschiedlich große Euro-Summen links ausgerichtet sind.
:confused: ... nee is' klar ... die Sache mit Lechts und Rinks kann man schon mal ein wenig durcheinanderbringen... ;)
 

VoDB

Member
Licensed User
Longtime User
Hallo zusammen,
was spricht eigentlich dagegen, die Summe aus den Tabellenwerten zu berechnen?
So etwa:

B4X:
Sub FillTextBox
   Dim summe
   txt = "Einzel-Auflistung: "
   For i = 0 To Table1.RowCount - 1
...
      End If
      summe = summe + Table1.Cell("Euro", i) /100
   Next
   txt = txt & CRLF & "Gesamtsumme: " & Format(summe,"N2") & " €"
   TextBox1.Text = txt
End Sub
Besser, oder?
Gruß
VoDB
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo specci48,
:confused: ... nee is' klar ... die Sache mit Lechts und Rinks kann man schon mal ein wenig durcheinanderbringen... ;)
:sign0013: ... wo Du recht hast hast Du Recht!

Da gibt es noch so eine komische Sache bei mir zuhause:
Ich habe ein paar Socken, da ist der eine schwarz und der andere weiß, aber ich habe die so nie gekauft! :confused:

Und jetzt kommts: Davon habe ich plötzlich sogar 2 Paar! Komisch, oder? :)
 

JOTHA

Well-Known Member
Licensed User
Longtime User
Hallo VoDB,

danke für deinen Beitrag!
... was spricht eigentlich dagegen, die Summe aus den Tabellenwerten zu berechnen?
Die Summe wird in der App schon an einer anderen Stelle berechnet und die hole ich mir dann über das "LabelSumme.Text".

Oder hat es mit deinem Code noch eine andere Bewandtnis, die ich im Moment noch nicht erkennen kann?
 

specci48

Well-Known Member
Licensed User
Longtime User
Ich habe ein paar Socken, da ist der eine schwarz und der andere weiß, aber ich habe die so nie gekauft! :confused:

Und jetzt kommts: Davon habe ich plötzlich sogar 2 Paar! Komisch, oder? :)
LOL
 
Top