In mijn code voeg ik een aantal combo boxen toe aan een datagrid.(In iedere row één combo box) Vervolgens wil ik, zodra de gebruiker een ander item selecteert, zowel de oude als de nieuw items/waarde achterhalen. Dmv selectedindexchanged kan ik de nieuwe waarde achterhalen. Maar hoe haal je op een goede manier de oude items op?
Momenteel heb ik de combo box class iets uitgebreidt... en dit werkt goed. Alleen twijfel ik er aan of dit wel de meest mooie en optimale code is :-). Het textupdate event werkt niet, deze gaf altijd een leeg object terug.
Maw: zouden jullie bovenstaande code gebruiken of bestaan er mooiere oplossingen?
Momenteel heb ik de combo box class iets uitgebreidt... en dit werkt goed. Alleen twijfel ik er aan of dit wel de meest mooie en optimale code is :-). Het textupdate event werkt niet, deze gaf altijd een leeg object terug.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| public delegate void BeforeUpdate(object oldValue); public class MyComboBox : ComboBox { public event BeforeUpdate BeforeUpdateEvent; private object OldItem; public MyComboBox() { this.DropDownStyle = ComboBoxStyle.DropDownList; this.SelectedIndexChanged += new EventHandler(MyComboBox_SelectedIndexChanged); } void MyComboBox_SelectedIndexChanged(object sender, EventArgs e) { BeforeUpdateEvent(OldItem); ComboBox cb = (ComboBox)sender; OldItem = SelectedItem; } } |
Maw: zouden jullie bovenstaande code gebruiken of bestaan er mooiere oplossingen?