Listbox "Zeilenumbruch"

Hallo, suche vergeblich für eine Listbox den Zeilenumbruch.
Habe das Example Mysql genommen und möchte mir einige Tabellen vom Server holen.
Funktioniert sowiet, doch in der listbox möchte ich einige Spalten/Einträge die ja seht lang sind auch komplett lesen können ohne 2 Bildschirme haben zu müssen.

Sowas ist leider nicht vorgesehen.
Man kann die Zeilenhöhe für alle Zeilen ändern und dann im CellTextPaint event selber malen.

dumm - und wie ndert man die Zeilenhhe? bzw. editierbar?

RowHeight property.

DefaultRowHeight

RowHeight hilf auch nichts, da der Text dann auch nur Mittig geschrieben wird.
Habe in der SQL Datenbank Tabelle in einem Text einen Zeilenumbruch eingefügt.
Das mag die Listbox auch nicht, denn jetzt wird der Text nur bis zum Zeilenumbruch angezeigt.
Denke es wird auch nichts bringen, wenn man die die ausgelesene Daten Formatiert.
Somit ist das ganze mit SQL und XOJO für die Katz.

Wie gesagt, man muss schon mit CellTextPaint event den text selber schreiben.
Sonst wei die Listbox nicht, was sie tun soll mit dem vielen Platz.

verstehe ich nicht - der Text kommt aus einer SQL Datenbank!

While Not data.EOF
  
  DataList.AddRow(data.IdxField(1)._
  StringValue, data.IdxField(2)._
  StringValue,data.IdxField(3)._
  StringValue, data.IdxField(4)._
  StringValue, data.IdxField(5)._
  StringValue, data.IdxField(6)._
  StringValue, data.IdxField(7)._
  StringValue, data.IdxField(8)._
  StringValue, data.IdxField(9)._
  StringValue, data.IdxField(10)._
  StringValue, data.IdxField(11)._
  StringValue, data.IdxField(12)._
  StringValue)
  
  data.MoveNext

wie gesagt, ihr müsste den ListBox.CellTextPaint Event mit Code füllen:

http://documentation.xojo.com/index.php/ListBox.CellTextPaint

verstanden

haben sie ein Example?

gerade gepostet

http://www.mbs-plugins.de/archive/2016-09-29/ListboxCellTextPaint_examples/monkeybreadsoftware_blog_xojo

Danke, aber da muss ich mich noch einarbeiten, da ich noch nicht weis wo ich deinen Code einbauen muss.
wie gesagt verwende das MySQLExample.xojo_binary_project.

Statt der Zeile mit DataList.AddRow(data.IdxField(1)._ machst Du eine leere Zeile. Dann schreib die Daten in die einzelnen CellTags. Und zuletzt kommt der Code von Christian ins Spiel, der die Daten in die Listbox malt.

hmm…
einfach gesagt. kannst du mir den code auflisten den du beschreiben möchtest?

Kerl…

DataList.AddRow("", “”, “”…) ’ leere Zeile
dim LastIndex as integer = DataList.Listindex 'in welcher Zeile sind wir denn?
DataList.CellTag(LastIndex, 1) = data.IdxField(1)
'und so weiter für die anderen Felder

Hm, das kann er auch genauso gut bei AddRow direkt übergeben.

Vielleicht muss Josef nochmal nachlesen, wie man einer Listbox einen Event hinzufügt?

Als kurzen Hintergrund, falls er hilfreich ist:
Wenn du mit Listbox.addrow ein Array von Strings übergibst, bedeutet das, dass bei der Bildschirmausgabe die Standard-Routine für ListboxTextcells anspringt und den Text einzeilig ausgibt.

Dies aber nur, solange du der Listbox nicht sagst, dass du die Ausgabe selbst übernehmen willst. Dazu diesen die Events wie CellTextPaint. In diesem steht der Innenraum der Tabellenzelle als Grafik zur Verfügung und kann beliebig mit den Graphics-Befehlen ausgestaltet werden. (Für andere Bestandteile der Zelle, wie den Hintergrund, gibt es separate Events).

Da es unnötig Zeit kosten würde, die Zelle mit Text via Addrow zu füllen und dann aber doch eine eigenständige Ausgabe durchzuführen, Beatrix’ Idee, das einfach über den Celltag zu erledigen. Du kannst aber ebenso weiterhin Addrow verwenden, keinen Celltag setzen und den Text wie Cell(row, column) im CellTExtPaint-Event auslesen, um ihn dann nach deinen Vorstellungen zu formatieren, wenn das für dich erst einmal nachvollziehbarer ist.

Danke für eure Mühe.
Gebe es momentan auf. mit Beatrix’s erleuterungen komme ich nicht klar da ihrgendwie mein data.EOF nicht mehr stimmt.
Das mit dem Prinzip CellTextPaint ist mir schon klar, stecke jedoch nicht nicht so tief in der Materie wie Ihr.
Ziehl: Habe MySQLExample.xojo_binary_project als Grundlage genommen und kann schon einmal meine Daten ansehen. (12 Spalten) und viele Daten. (max jedoch 512 Zeichen die auch mit einem Umbruch dargestellt werden sollten).
? Geht das den mit CellTextPaint ? hört sich nach Grafik an.
Später möchte ich jede einzelen Zeile bearbeiten und in die SQL Datenbank zurück schreiben.

Klar, CellTextPaint benutzt das Graphics-Objekt. Aber was nicht? Wird ja im Prinzip alles auf diese Art auf den Bildschirm gemalt, mehr oder weniger. Wenn du die Zellenhöhe groß genug definierst, geht das auf jeden Fall. Ich bin mir nicht sicher, wie sich ein CellEdit dabei verhält. Evtl. willst du zur Übersichtlichkeit ein eigenes Editor-Fenster einbauen, ähnlich wie die IDE bei Textproperties, die auch mal größer werden können.
Der Text als solches ist ja immer verfügbar – klassisch aufgebaut via Listbox.Cell(x,y) oder als CellTag. Du überscheibst in ersteren Fall ja einfach die Bildschirmausgabe; hinter den Kulissen läuft alles wie gewohnt.