Guten morgen
Eine Grundsatzfrage . . .
- VisualStudio 2017
- SQL-Server Express
- Verschiedene Formulare
Als Auswahlfelder möchte ich unter anderem eine CheckedListBox einsetzen, um mehrere Begriffe für eine Datenabfrage auswählen zu können.
Befüllen möchte ich diese Controls mit einer eigenen Klasse (nennen wir sie SQLGetData), welche für mich den Verbindungsaufbau zur Datenbank und die Abfrage der Daten ausführt. Die per SQL-String abgefragten Daten speichere ich in einer DataTable in der Klasse SQLGetData.
Aufruf der Klasse SqlGetData
SqlGetData.Fill( ByRef MyCLB as CheckedListBox, ByVal SQLAbfrageString as String, ByVal DBConnectionString as String)
Die Daten werden abgefragt und in die DataTable geschrieben.
Die Listbox übergebe ich als Referenz und befülle die Rows per .item.add.
... Aber im Formular wird die Listbox leer angezeigt.
Müsste mit der Übergabe ByRef MyCLB das Controll nicht gefüllt werden?
Was verstehe ich falsch?
Als Ausweg fülle ich die Listbox im aufrufenden Formular. Aber das ist nicht die Lösung.
Grüsse aus CH
Roland
Eine Grundsatzfrage . . .
- VisualStudio 2017
- SQL-Server Express
- Verschiedene Formulare
Als Auswahlfelder möchte ich unter anderem eine CheckedListBox einsetzen, um mehrere Begriffe für eine Datenabfrage auswählen zu können.
Befüllen möchte ich diese Controls mit einer eigenen Klasse (nennen wir sie SQLGetData), welche für mich den Verbindungsaufbau zur Datenbank und die Abfrage der Daten ausführt. Die per SQL-String abgefragten Daten speichere ich in einer DataTable in der Klasse SQLGetData.
Aufruf der Klasse SqlGetData
SqlGetData.Fill( ByRef MyCLB as CheckedListBox, ByVal SQLAbfrageString as String, ByVal DBConnectionString as String)
Die Daten werden abgefragt und in die DataTable geschrieben.
Die Listbox übergebe ich als Referenz und befülle die Rows per .item.add.
... Aber im Formular wird die Listbox leer angezeigt.
Müsste mit der Übergabe ByRef MyCLB das Controll nicht gefüllt werden?
Was verstehe ich falsch?
Als Ausweg fülle ich die Listbox im aufrufenden Formular. Aber das ist nicht die Lösung.
Grüsse aus CH
Roland