24. marts 2008 - 17:17Der er
4 kommentarer og 1 løsning
Bygge toolstrip fra database
Hej,
Jeg ønsker at bygge en Toolstrip med tilhørende indhold, altsammen baseret på indholdet i en database, men jeg har ingen ide om hvordan jeg får navnene fra databasen og ned i koden, f.eks til navngivning af min toolstrip.
Normalt vil jeg gøre noget i retning af:
ToolStrip ToolStripName = new ToolStrip(); ToolStripContainerName.ToolStripPanelName.Controls.Add(ToolStripName);
Men i dette tilfælde skal navnene læses fra min database, og der er jeg lidt i tvivl hvordan nedenstående kode skal omskrives for at få det til at spille...
while (dataReader.Read()) { ToolStrip dataReader["ToolStripName"] = new ToolStrip();
I princippet ja, men så enkelt er det desværre ikke. Jeg skal bl.a. tilføje DropDownButtons og på den måde opbygge en træ-struktur. Der vil også være andre typer af elementer, og det fremgår af databasen hvilken type hver enkelt element skal være. Dertil kommer at ved tryk på de enkelte elementer, skal jeg via en "toolstrip_click" funktion kunne referere til posten i databasen for det element der blev klikket på og på den måde trække data ud som skal bruges i forbindelse med udførelse af forskellige opgaver.
Databasen er i store træk bygget op som følger: MenuItemID, autonumber -> Unikt ID for elementet. MenuItemText, text -> Teksten som skal stå på knappen. MenuParentItemID, numeric -> ID på parent element. Hvis det er et rodelement er værdien 0. MenuID, numeric -> ID for hvilken ToolStrip elementet tilhører (I tilfælde af at flere toolstrips lagres i databasen) MenuItemTypeID, numeric -> Joines med en tabel indeholdende typen af element.
Jeg glemte lige at nævne at MenuItemText ikke nødvendigvis er unikt, derfor skal elementets reference baseres på MenuItemID, eventuelt i kombination med MenuItemTypeName, f.eks: ToolStripButton4, hvor "ToolStripButton" er indholdet af MenuItemTypeName og "4" er MenuItemID...
Jeg har nu endelig selv fået løst denne udfordring, dog med et lille hint fra aaberg80 i en anden tråd, som åbnede op for det store gennembrud.
Hvis nogen er interesseret skal jeg gerne poste koden, men den fylder en del så jeg synes det er overflødigt at poste den hvis ingen har interesse i det.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.