ID instellen voor alle gegevens in dropdown menu.

Status
Niet open voor verdere reacties.

Rozenknopje

Gebruiker
Lid geworden
25 jun 2007
Berichten
46
Beste Mensen :)

Ik zit met een probleem waar ik al een lange tijd tegen aan loop. Ik heb applicatie gemaakt waar je bestanden naar een "listview" toe kan slepen om deze vervolgens te kunnen uploaden. Als je de bestanden eenmaal gesleept hebt en op "Opslaan" klikt, kom je terecht in een datagrid view (soort van Excel overzicht) van alle bestanden die naar de listview gesleept zijn. Voor elke file kan je uit een dropdown menu kiezen waar dit bestand voor bedoelt is, als je het uitklapt ziet het er ongeveer uit als dit:
  • Administrator
  • Administratief medewerker
  • Billing
  • Helpdesk

Deze lijst wordt gehaald uit de database. Echter hebben al deze items (uit de dropdown) ook allemaal een eigen ID. Bij administrator hoort bijvoorbeeld "33-BB-87".

Nu mijn vraag. Ik wil graag dat als je bijvoorbeeld administrator kiest, dat dan uiteindelijk "33-BB-87" de (opgeslagen) waarde wordt in de dropdown menu. Dus je ziet de echte namen, maar "achter de schermen" wordt dan het ID opgeslagen.

Hoe kan ik dit het beste doen?

De code die ik gebruik om de dropdown te weergeven per file:

Code:
using (DataClassesDataContext db = new DataClassesDataContext())
{
bestandstypenaam = db.BestandsTypes.Select(g => g.Naam).ToList<string>();
}

en

Code:
DataGridViewComboBoxColumn bestandstype = (DataGridViewComboBoxColumn)dgItems.Columns[2];
bestandstype.Items.Add("<Maak een keuze>");
foreach (string str in bestandstypenaam)
{
docGroup.Items.Add(str);
}

Alle ID's heb ik in een variabel kunnen krijgen door middel van de volgende code (dit werkt ook):

Code:
bestandstypeID = db.BestandsTypes.Select(a => a.ID).ToList();

Ik heb al wel geprobeerd de volgende code te gebruiken om de IDs op te slaan, maar dit werkte niet:
Code:
colBestandsType.ValueMember = bestandstypeID.ToString();

Mochten er nog onduidelijkheden zijn of wil je screenshots zien van de applicatie, laat het dan even weten. :p Alvast hartstikke bedankt voor de hulp!
 
Laatst bewerkt:
Het makkelijkste is 2 lists bijhouden. 1 list met de namen en de andere list met het type. Vervolgens kun je het itemnr van de eerste list gebruiken om het overeenkomstige item uit de twee list te halen.

overigens heeft een list ook een mogelijkheid om een tijdelijke static list terug te geven die via items.addrange (even uit het hoofd) is toe te voegen. Ik neem even aan dat je ook C# gebruikt en niet C++.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan