Avatar billede phreazdialer Nybegynder
24. marts 2008 - 17:17 Der 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();
   
    dataReader["ToolStripContainerName"].dataReader["ToolStripPanelName"].Controls.Add(dataReader["ToolStripName"]);
}


Nogen forslag?
Avatar billede hmortensen Nybegynder
24. marts 2008 - 19:57 #1
Således her du mener?

ToolStrip ts = new ToolStrip();
while(dataReader.Read())
{
  ts.Items.Add(dataReader["ToolStripName"].ToString());
}
Avatar billede phreazdialer Nybegynder
26. marts 2008 - 01:47 #2
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.
Avatar billede phreazdialer Nybegynder
26. marts 2008 - 01:57 #3
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...
Avatar billede phreazdialer Nybegynder
28. marts 2008 - 01:14 #4
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.
Avatar billede phreazdialer Nybegynder
28. marts 2008 - 01:15 #5
...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester