Mensen,
ik ben bezig met een plugin in AutoCAD, een onderdeel van deze plugin is de mogelijkheid om een selectie van objecten te maken welke weergegeven wordt middels een User Control in een Flowlayoutpanel
De selectie welke gemaakt wordt door de gebruiker wordt opgeslagen in een DataTable.
Vanuit deze datatable wordt de Flowlayout gevuld met User Controls. In de User Controls worden een aantal gegevens uit de datatable gepresenteerd in een Label en textbox.
De gehele datarow van het bewuste object wil ik ook graag in de User Control opslaan om zo nadat de gebruiker de wijzigingen heeft toegepast (hernoemen / verwijderen / volgorde) alle resterende objecten weer in een lege Datatable te kunnen opslaan voor verder gebruik.
Het vullen van de Flowlayout en het weergeven in mijn control gaat goed, echter wordt de Datarow niet goed verwerkt. Alle items in de Flowlayout bevatten de datarow van het laatst toegevoegde element.
Ergens doe ik iets niet goed, wie kan mij vertellen waar mijn fout zit?
Hieronder de relevante code uit mijn User Control
Via onderstaande code wordt de flow gevuld, en later weer uitgelezen
Kortom, hoe zorg ik ervoor dat mijn datarow in mijn custom user control wordt opgeslagen?
ik ben bezig met een plugin in AutoCAD, een onderdeel van deze plugin is de mogelijkheid om een selectie van objecten te maken welke weergegeven wordt middels een User Control in een Flowlayoutpanel
De selectie welke gemaakt wordt door de gebruiker wordt opgeslagen in een DataTable.
Vanuit deze datatable wordt de Flowlayout gevuld met User Controls. In de User Controls worden een aantal gegevens uit de datatable gepresenteerd in een Label en textbox.
De gehele datarow van het bewuste object wil ik ook graag in de User Control opslaan om zo nadat de gebruiker de wijzigingen heeft toegepast (hernoemen / verwijderen / volgorde) alle resterende objecten weer in een lege Datatable te kunnen opslaan voor verder gebruik.
Het vullen van de Flowlayout en het weergeven in mijn control gaat goed, echter wordt de Datarow niet goed verwerkt. Alle items in de Flowlayout bevatten de datarow van het laatst toegevoegde element.
Ergens doe ik iets niet goed, wie kan mij vertellen waar mijn fout zit?
Hieronder de relevante code uit mijn User Control
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
| Public Class UC_ListItem Shared dtItemRow As System.Data.DataRow Public Property ItemRow As System.Data.DataRow Get Return dtItemRow End Get Set(value As System.Data.DataRow) dtItemRow = value End Set End Property End Class |
Via onderstaande code wordt de flow gevuld, en later weer uitgelezen
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Sub laadLijst() Dim custCntrl As UC_ListItem For Each dtFilterRow As System.Data.DataRow In dtSelectedObjects.Rows custCntrl = New UC_ListItem() custCntrl.ItemRow = dtFilterRow flowSelection.Controls.Add(custCntrl) Next End Sub Sub verwerkLijst() dtListRows = New DataTable clsObjectenBeheer.initDtObjecten(dtListRows) 'aanmaken van de juiste kolom settings voor de tabel With flowSelection For Each myCntrl As UC_ListItem In .Controls dtListRows.ImportRow(myCntrl.ItemRow) Next End With End Sub |
Kortom, hoe zorg ik ervoor dat mijn datarow in mijn custom user control wordt opgeslagen?