Seite 1 von 2

Listviewgadget mit Listicongadget verbinden?

Verfasst: 26.05.2007 20:40
von skey-z
Hy Leutz,

Ich hätte da mal ein problem, ich habe vor für meinen Chef ein Programm zu schreiben, welches als Vorbereitung der Getränkelieferung dienen soll.
Es werden Kundendaten gespeichert, welche ich eine Lieferliste übernommen werden können. In dieser Lieferliste, aufgebaut aus einem Listicon, sollen für jeden Kunden mehrere Artikel(unbestimmte Anzahl) eingetragen werden können, zudem sollen auch noch die Menge und der Preis frei wählbar sein.
Ich habe da an ein Listview Gadget gedacht, aber mir stellt sich dann die Frage, wie ich es mit dem ListIconGadget verbinde.

Hat vielleicht jemand eine Idee dazu, oder wie ich es anders Lösen kann?

Bin für jede Hilfe dankbar, da ich mich auch erst ein paar Tage mit PB beschäftigt habe und noch nicht alle Befehle und Tricks kenne.

mfg skey-z

[edit] Verdammt, warum kommen manche einfälle erst so spät?
Falls es mit meiner oben beschriebenen Denkweise wirklich nicht funzt und ihr keine weiteren Ideen habt, wede ich es wohl über 2 Listview Gadgets machen müssen, eines für die Kunden und das Zweite für die Getränke oder so ähnlich.[/edit]

Verfasst: 26.05.2007 20:53
von RSBasic
@skey-z
Ich versteh dein Problem nicht.
Also du willst ja die zwei Gadgets deren Einträge verbinden oder bzw. austauschen.
Austauschen kannst du mit GetGadgetItem() und SetGadgetItem() erreichen.
Sry im Vorraus, dass meine Antwort vielleicht sinnlos ist.

Re: Listviewgadget mit Listicongadget verbinden?

Verfasst: 26.05.2007 20:58
von Kiffi
skey-z hat geschrieben:wenn [...] ihr keine weiteren Ideen habt, wede ich es wohl über 2 Listview Gadgets machen müssen, eines für die Kunden und das Zweite für die Getränke oder so ähnlich.
hört sich doch ganz gut an (wobei ich das ListIconGadget wg. der erweiterten
Funktionalität bevorzugen würde). Mit Klick auf den Kunden in der ersten
Liste erscheinen seine Posten in der zweiten. So meintest Du das doch, oder?

Grüße ... Kiffi

Verfasst: 26.05.2007 20:58
von RSBasic

Code: Alles auswählen

If OpenWindow(0,0,0,500,500,"No Name",#PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(0))
    ListIconGadget(1,10,10,480,100,"List 1",100,0)
    ListViewGadget(2,10,120,480,100,0)
    ButtonGadget(3,390,230,100,20,"Synch.",0)
  EndIf
  For a=0 To 10
    AddGadgetItem(1,-1,"Test "+Str(a),0,0)
  Next
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
  Select EventGadget()
    Case 3
      AddGadgetItem(2,-1,GetGadgetItemText(1,GetGadgetState(1), Spalte))
  EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
  Quit=1
EndIf
Until Quit=1
EndIf
Ich weis mein Code ist scheiße, aber KB was großes daraus zu machen.

Verfasst: 26.05.2007 21:40
von skey-z
schon ma danke für die schnellen antworten, RSbasic du hast das Problem schon fast erkannt, mit den 2 Listicon gadget, allerdings wollte ich in dem Fenster nur ein Listicon haben und als erste Spalte den Namen und als 2 Spalte, sozusagen alle zur Lieferung notwendigen Getränke untereinander mit menge und Preis auflisten.

Also wie zB in Excel, wo ich dann Zellen verknüpfen kann, nachfolgend ein Skizze wie es am Besten aussehen sollte:

Bild

und dass ich auch "unbegrenzt" weitere Artikel eintragen kann, so zusagen ein Listicon im Listicon

Verfasst: 26.05.2007 22:16
von a14xerus
das muss ja nicht ineinander verschachtelt sein.
je nachdem welcher kunde im ersten Listicon angewählt ist (getgadgetstate()) wird das zweite mit den verschiedenen Sachen befüllt
Jeder Kunde hat seinen Datensatz und der wird dann angezeigt, wenn der Kunde angewählt ist

Verfasst: 26.05.2007 22:21
von Xaby
Nimm lieber eine LinkedList mit LinkedLists :mrgreen:

Musst dir ja über die Abspeicherung sicherlich auch noch Gedanken machen.

Eigentlich ist es ganz einfach, was hälst du von folgender Idee:

Du nimmst nur ein ListIconGadget()
Sobald jemand ein Getränk dazu nimmt, fügst du ein Spalte an und trägst das Getränk in die letzte Spalte ein.

Wenn man einen Kunden anwählt, kannst du ja alle Items einer Zeile vom ListIconGadget in eine neue Anzeigeform bringen.
Kann ja auch eine Reihe mit StringGadgets sein oder ...

Du kannst auch ein DropDownMenu in eine Liste packen ...

Haben eure Sprudels IDs?
Du benötigst einen Primärschlüssel.

Dann hast du dort alle Säfte aufgelistet und die zugehörigen Preise (eventuelle Staffelpreise)
Wenn jemand was kauft, gibst du nur noch die ID und die Menge an.
Damit hast du schon mal Preis und Limo verbunden.
Sonst muss man das ja per Hand eintragen.

:allright:

Verfasst: 26.05.2007 23:12
von skey-z
Musst dir ja über die Abspeicherung sicherlich auch noch Gedanken machen.
nö, werden in verschiedenen Strukturen gespeichert
Haben eure Sprudels IDs?
Du benötigst einen Primärschlüssel.
Jein, das Heißt ich weiß es nicht genau, bin nur Aushilfe, also ich liefere die Sachen aus und mein Chef hat ne be*** -scheidene Handschrift und es gibt immer wieder Probleme mit Kunden, weil das falsche aufgeschrieben wurde, muss also vorher meinen Chef fragen, ob er mir die Liste aushändigt, damit ich das Programm darauf zugreifen lassen kann, ansonsten muss ich es per Hand Eintragen, weil preise sich auch ab und an ändern.

Primärschlüssel?, was meinst du damit, mit diesem Begriff kann ich leider nichts anfangen.

@a14xerus
Werde ich wahrscheinlich auch so machen müssen

[edit] ich muss natürlich im Endeffekt auch darauf achten, dass ich es nicht zu komplex gestallte, da mein Chef kein Technikfreak ist und es wirklich einfach seien muss, ansonsten muss ich mich weiterhin mit den Kunden rumschlagen.

Verfasst: 26.05.2007 23:18
von mk-soft
Beschäftige dich mal etwas mit Datenbanken bevor du etwas in dieser Richtung programmierst.

Verfasst: 26.05.2007 23:50
von Kiffi
mk-soft hat geschrieben:Beschäftige dich mal etwas mit Datenbanken bevor du etwas in dieser Richtung programmierst.
Full ACK! Dafür sind Datenbanken hervorragend geeignet.

Grüße ... Kiffi