Sub Einträge in DataTable möglich?

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Sub Einträge in DataTable möglich?

    Hoi Zämme

    Ist es Möglich subeinträge zu erstellen bei einer Datatable? Ähnlich wie bei einem Contextmenü?

    Als Basis ist der untenstehende Code.

    C#-Quellcode

    1. private DataTable getDocCategory()
    2. {
    3. var docCategorys = new DataTable();
    4. docCategorys.Columns.Add("Id", typeof(int));
    5. docCategorys.Columns.Add("Name", typeof(string));
    6. docCategorys.Rows.Add(0, "");
    7. docCategorys.Rows.Add(1, "Finanzen");
    8. docCategorys.Rows.Add(2, "Versicherung");
    9. docCategorys.Rows.Add(3, "Karriere");
    10. docCategorys.Rows.Add(4, "Pers. Dokumente");
    11. docCategorys.Rows.Add(5, "Haustiere");
    12. docCategorys.Rows.Add(6, "Imobilien");
    13. return docCategorys;
    14. }


    Mein Gedanke wäre, wen man auf Versicherung Clickt, das es dann eine neue Liste anzeigt mit weiteren Möglichkeiten.
    • Versicherung
      • Krankenkasse
      • Hausrat
      • Auto
        • Auto1
        • Auto2

    Beste Grüsse
    Nein, das macht man über DataTable-Verknüpfung, indem man sog. ForeignKeys einführt. Dabei hat die MainTable (wie jede andere Table am besten auch) eine ID-Spalte und die SubTable eine zusätzliche Spalte, die auf die ID aus der MainTable verweist. Versicherung hat bei Dir die ID 2, also werden in der SubTable Versicherungstyp(en) Einträge mit Krankenkasse, Hausrat, Auto sein. Und die haben neben ID und Name noch die Spalte KategorieID und alle den Wert 2 (also ID von Versicherung). Entsprechend dann mit Auto -> Auto1, Auto2
    Aber das ist bei manuellen DataTables frickeliger als im tDS-Designer. Von daher …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    "subEinträge" - du benötigst also ein hierarchisches Datenmodell.

    Das ist in relationaler Datenmodellierung anders, und zwar deutlich leistungsfähiger gelöst als in klassischer OOP.
    Man muss allerdings die Grundlagen: Relationale Datenmodellierung verstanden haben.
    Dann kann man sehr elegant mit einem typDataset sich seine Datenmodelle zusammenschustern.

    Hier auch noch eine engl. ArtikelSerie (3 Stück): codeproject.com/Articles/10309…l-Datamodel-for-Beginners
    Fängt an bei Adam und Eva und schreitet voran bis zu einer vom GUI her ziemlich schnuckligen Datenverarbeitung.
    Es wird auch auf bestPractices eingegangen sowie auf den ObjectBrowser, mit dem man sein typDataset inspizieren kann, sodass man ein Verständnis der Systematik bekommt.
    Es ist alles ganz einfach - nur muss man es wissen.
    Wenn mans denn weiss, kann man mit einem Blick (aufs typDataset) die Funktionalität einer Anwendung schon ziemlich umfassend einschätzen - zumindest bei kleinen Anwendungen.