Denkanstoß Programmaufbau

  • VB.NET
  • .NET (FX) 4.0

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von thw1905.

    Denkanstoß Programmaufbau

    Moin,
    ich möchte einen( ich ihn mal) Mängelkatalog erstellen. Er soll ein Teil meines schon erstellten Programm werden. Er soll in etwa so aussehen dass, man zuerst einen Eintrag auswählt z.b. "Reifen" dann soll es sich aufteilen in "1. Achse", "2. Achse", "3. Achse", wenn man dann "1. Achse" wählt soll es weitergehen mit "Rechts", Links" dann "Riss", "Einfahrschaden" wenn man nun z.B. "Einfahrschaden" auswählt soll in einer Richtextbox stehen "Reifen 1. Achse Links Einfahrschaden". Das soll dann aber mit diversen Einträgen passieren. Also erst einen groben Überbegriff dann einen Unterbegriff dann immer feiner werden.
    Ich weiß aber nicht welche Elemente dafür am Besten geeignet sind. Ich habe schon mit Treeview, Listview experimentiert aber komme nicht so recht weiter. Ich müsste ja alle Einträge in einer Datei speichern. Auch soll der Nutzer die Möglichkeit haben Einträge zu Löschen oder Hinzufügen zu können. Diese müssen aber dann ja auch in einer gewissen Beziehung zueinander stehen. Aber ich weiß nicht wie ich das hin bekomme. Auch weiß ich nicht ob Treeview, Listview überhaupt dafür gut geeignet sind.

    Ach ja ich bin noch Anfänger.

    Mit freundlichen Grüssen
    Tobias
    TreeView ist für deine Bedürfnisse eigentlich ideal, da man eben gut immer weiter verdichten kann. Das Problem ist nur, dass dem Control wichtige Funktionen fehlen.
    Im Gegensatz zu beispielsweise einem DataGridView muss man sich um relativ viel selbst kümmern.

    Du musst dich selbst um das komplette Laden & Speichern kümmern, oder eine entsprechende Erweiterung aus dem Internet runterladen.

    Um die Daten über die Programmlaufzeit hinaus nutzen zu können, würde sich ein XML-File anbieten. Daraus lädt man zum Programmstart alle Daten und bei Programmende
    wird alles abgelegt, das sich geändert hat.
    Für die Verwaltung der Datenstrukturen innerhalb des Programmes gibt es von Microsoft den DataSet-Designer, der das Bearbeiten von Daten maßgeblich vereinfacht.

    Daten laden, speichern, verarbeiten - einfachste Variante <- Ein Tutorial, wie man mit geringstem Aufwand an persistente Daten kommt.

    PS: Aus eigener Erfahrung kann ich dir sagen, dass es einige Geduld & Ausdauer benötigt, bis man wirklich durch das Thema durchblickt.
    Option strict = on

    If it's stupid and it works it ain't stupid.
    Vielleicht kannst du das mit Comboboxen lösen, dargestellt in einem DGV.
    Ich hatte auch mal so einen ähnlichen Fall, bei dem ich LKWs Tachomodelle und Navigationsgeräte zuordnen musste.
    z.b. wenn in der ersten Combox mit MAN ausgewählt wurde, dann wurde nächste Combox so gefiltert, das nur Tachos angezeigt wurden, die für MAN Fahrzeuge zulässig waren,
    usw. so habe ich das Ganze dann verschachtelt bekommen
    Dahinter lagen natürlich div. Stammdatentabellen die miteinnannder verknüpft waren

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „EpagneulBreton“ ()

    thw1905 schrieb:

    Muss mal sehen ob ich das verstehe.
    Wenn Du anfängst darüber nachzudenken, beziehe sofort das Binden einer DataTable als DataSource an das DataGridView mit ein, denn da ist das Speichern und Laden als XML-Datei bereits je als Einzeiler drin enthalten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    thw1905 schrieb:

    ich möchte einen( ich ihn mal) Mängelkatalog erstellen. Er soll ein Teil meines schon erstellten Programm werden. Er soll in etwa so aussehen dass, man zuerst einen Eintrag auswählt z.b. "Reifen" dann soll es sich aufteilen in "1. Achse", "2. Achse", "3. Achse", wenn man dann "1. Achse" wählt soll es weitergehen mit "Rechts", Links" dann "Riss", "Einfahrschaden" wenn man nun z.B. "Einfahrschaden" auswählt soll in einer Richtextbox stehen "Reifen 1. Achse Links Einfahrschaden".
    Kann sein, dass das in eine Baumstruktur geht, kann sein nicht.
    Da wäre erstmal ein "einfacher", voll-editierbarer Treeview inklusive Self-Drag das beste, da kannste ein paar Beispiel-Bäume mit basteln, und gucken ob das wirklich passt.
    Aber was fertiges gibts da glaub nicht, und solch zu proggen ist recht uneinfach.
    *unnötiges Zitat entfernt*

    Moin,
    ich muss noch mal nerven. Das mit dem Treeview klappt so wie geplant ich kann es speichern, einlesen und die Nodes und Subnodes in die Richtextbox schreiben. Nur das Listview will noch nicht. Wenn ich im Treeview "Reifen","1.Achse","Rechts" dann soll mir das Listview eine Auswahl anzeigen "Einfahrschaden, Riss, Schnitt ect." Wähle ich aber im Treeview was anderes soll mir auch das Listview eine andere Auswahl anzeigen. Nun ist die Frage wie bekomme ich die unterschiedlichen Sachen in das Listview? Kann ich die Begriffe die zusammengehören z.Bsp."Einfahrschaden, Riss, Schnitt ect." in einem Item zusammenfassen oder muss jeder Begriff ein Item sein.
    Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.

    Mfg.
    Tobias

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    thw1905 schrieb:

    Nur das Listview will noch nicht.
    Du sollst ja auch ein DataGridView nehmen.
    Befasse Dich mal ne Woche damit, ohne an Dein Projekt zu denken. Schmöker in der MSDN und programmiere einige Beispiele nach.
    Wenn Du ein Gefühl dafür entwickelt hast, arbeite an Deinem Projekt weiter.
    Das ListView hat keine Zukunft :!:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jo, das ist, was eiglich alle hier geahnt haben: Treeview alleine langt bei steigenden Anforderungen nicht mehr hin.
    Was imo jetzt dran ist, dass du ein tragfähiges Datenmodell konzipierst.
    Das fängt mit Namen finden an.
    Was ist der Obebegriff deiner Treenode-Einträge, unter welchem Namen würde man "Reifen", "1. Achse", "2. Achse", "3. Achse", "Rechts", "Links", "Einfahrschaden", "Riss", "Schnitt" zusammenfassen?
    Kann man das ühaupt zusammenfassen - oder sind da nicht Dinge ganz verschiedener "Entität" aufgelistet: Bauteil, Baugruppe, Richtung, Schadensart - die man tunlichst auseinanderhalten sollte?
    Aber in die Richtung ist deine Denke ja schon von selbst gegangen, wenn du schreibst:

    thw1905 schrieb:

    Kann ich die Begriffe die zusammengehören z.Bsp."Einfahrschaden, Riss, Schnitt ect." in einem Item zusammenfassen
    Was du "Item" nennst, heisst in der Datenbänkerei abstrakt: "Entität", bzw. konkret: "Tabelle".

    Imo solltest du dir ein typDataset anlegen, und darin dein Datenmodell konzipieren.

    Also die Problemstellung "Präsentation komplexer Daten und deren Zusammenhänge" ist inne Datenbänkerei ein "wellknown issue", und sollteste lernen, egal ob das ein mehr oder weniger weiter Weg ist (bist ja eh schon 2 Monate dabei - so lang wird das nicht).
    Einstieg und weiterführende Links findeste hier: vier Views-Videos
    Nicht traurig sein, dass da nirgends von Treeview gehühnert wird - das liegt daran, dass Treeview kein Databinding unterstützt. Treeview einzusetzen wird vergleichsweise advanced, und hat daher in diese Grundlagen-Tuts nix verloren.
    Auch Listview hat da nix verloren, weil Listview heisst zwar Listview, ist aber zur Darstellung mehrspaltiger Listen (Tabellen) verglichen mit Datagridview in jeder Hinsicht gradezu unbrauchbar.
    Hallo,
    danke für schnellen Antworten. Mein Projekt wächst immer mehr, war zu Anfang gar nicht so geplant. Aber dann fällt mir immer noch was ein. Die Filme sind super. Ich werde mich mal einarbeiten. Die Zeit ist egal ist ja nur Hobby nebenbei.

    Mfg.
    Tobias