LIstview (oder ähnlich) befüllen

  • Hallo ich denke vermutlich gerade viel zu kompliziert.
    Ich versuche momentan aus eienr Ini-Datei Einträge in ein Listview zu übergeben.

    Mit Übergabe iens Arrays direkt hab ich mich nich nicht versucht aber vermutlich ist alles viel einfacher.... ;(

    Aufbau der Ini

    [Mitarbeiter]
    1=Paul|2
    2=Kurt|1
    3=Willi|2
    4=Peter|1
    5=Hans|2
    6=Klara|2
    7=Sepp|2
    8=Oskar|1
    9=Birgit|1
    10=Susi|2
    11=Marga|1
    12=Alex|2
    13=Astrid|1
    ... momentan >72

    also lfd. Nummer(unwichtig aber Vor und Nachname mit Komma getrennt klappt nicht vor dem Gleicheitszeichen in der Ini),
    Name und ein Kennzeichen wie die Person farblich hinterlegt sein soll.


    Mein Problem ist das ist ich nicht je Zeile einen Datensatz habe, sondern eine Zeile aus 4 oder 5 Usern besteht.
    Mal sehen wie es gut lesbar ist.

    Soll ich es so machen oder die Ini am Anfang pimpen, also wenn ungleich 0 oder 5 am Ende, dann passend auffülle.
    Die Isdee kam mir gerade das probier ich jett mal aus.
    Weitere Vorschläge sind willkommen.
    Zum Beispiel die farblich Hintergrundmarkierung, momentan würde eine Funktion mittels "Suchen und färben" hinterherwischen.

    Oder hat jemand eien andere Idee was sich tzur Darstellung eignen würde?

    G Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    Einmal editiert, zuletzt von Dietmar (22. Juli 2015 um 10:51)

  • Ich hatte mal einen ähnlichen Fall und habe mir eine UDF geschrieben. Schaue es Dir an, es müßte genau das machen, was Du brauchst.

    Credits gehen an Bugfix, dessen UDF Func _Array2DAdd() ich dabei verwende.


    • Offizieller Beitrag

    also lfd. Nummer(unwichtig aber Vor und Nachname mit Komma getrennt klappt nicht vor dem Gleicheitszeichen in der Ini),
    Name und ein Kennzeichen wie die Person farblich hinterlegt sein soll.

    Und warum verwendest du da eine INI? CSV (allerdings mit Pipe als Trenner wegen Eintrag im Listview) ist doch hier viel sinnvoller:

    Code
    NAME|VORNAME|FARBE
    Mustermann|Max|1
    Müller|Gerlinde|2

    kannst du kpl. in ein Array lesen und dann ist jeder Eintrag sofort verwendbar um einen Listview-Eintrag zu erstellen.

  • Hallo, erstmal danke für die Antworten...

    Die Ini sieht aus wie beschrieben, kann aber auch csv (txt) sein.
    das eigentliche Problem (für mich) ist.
    Wie fang ich es ab damit ich die Zeilen gleichmässig mit 4 oder 5 Usern fülle.

    Das Färben gerne auch in einem Atemzug, da könnte ich mir aber behelfen.

    Sowas wie auf dem Bild stell ich mir final vor...
    aber irgendwie will es nicht so recht. ?(

    Bau halt ein Tool von mir dahingegend um, ganz neu wäre vermutlicher einfacher gewesen.

    @BugFix kannst Du mir nen Denkanstoß geben. :/

    G Dietmar

    Bilder

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    • Offizieller Beitrag

    Sowas wie auf dem Bild stell ich mir final vor...

    Farbwechsel nebeneinander ist im Listview nicht so ohne weiteres möglich. Da muss man auf individuelles Zeichnen aller Inhalte zurückgreifen, hatte dafür auch mal eine UDF erstellt - ist aber sehr komplex.
    Aber kpl. Zeilen zu färben ist einfach: Die ID des erstellten Item auffangen und mit GUICtrlSetBkColor($ID_Item, $iColor) einfärben.
    Also wenn du mit einer Tabelle leben kannst, in der die Angaben untereinander stehen, geht das problemlos.
    Oder du verwendest das Listview im Group-Style, da kann man die Item ja nebeneinander anordnen. Sollte mit Färben dann auch so gehen.

  • Hallo Bugfix, das Färben kommt im nächsten Step, zur Not suche ich die Dinger einzeln und mal sie bunt...

    So hatte ich es mal um nachträglich die Collation hervorzuheben wenn <> Latin.
    Die Funktion war für zwei Listviews zu gebrauchen und die Kollation halt an unterschiedlichen Stellen.
    Nicht schön aber das könnte ich denke ich gebrauchen.

    Ich würde gerne die ganze Breite nutzen, damit man ohne zu Scrollen alle Namen sieht. :(


    Momentan haut er mir aber je Insert ein "Variable must be of type 'object' um die Ohren...


    Oder gibt es etwas was besser zu händeln ist, hab schon überlegt bunte Labels zu zeichen...

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • so geht´s auch hab ich zumindest Zeit mir das andere noch anzushcuaen wenn überhaupt erforderlich.
    So muss ich zumindest die Kopfzeile vom Listview nicht entsorgen....

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o