Basierend auf der ComboBox habe ich ein UserControl erstellt, dass noch ein bisschen zusätzlichen Schnickschnack bereitstellt.
Das Usercontrol besitzt ein eigenes Bindingsource; die ComboBox wird im Endeffekt an eine DataTableColumn eines DataSets gebunden.
Es existiert eine kleine Methode um dem UserControl die nötigen Infos für die ComboBox zu geben:
Es stört mich, dass der Columnname als String übergeben wird. Ich habe zwar diese kleine If-Schleife die sicherstellt, dass dieses Column auch tatsächlich existiert, aber das ist trotzdem doof.
Wie kann man den Parameter zur Festlegung der DataTableColumn umformulieren, damit ich quasi schon bei der Parameterübergabe eine Auswahl der tatsächlich in tmpDataTable vorhandenen Colums habe (also ähnlich wie bei der Verwendung von enums)?
(An den eigentlichen Namen komme ich dann ja wieder mit Columnname heran, sodass DisplayMember und ValueMember dann doch noch ihren String bekommen.)
Sinngemäß stelle ich mir das so vor:
Geht das überhaupt?
lg
Das Usercontrol besitzt ein eigenes Bindingsource; die ComboBox wird im Endeffekt an eine DataTableColumn eines DataSets gebunden.
Es existiert eine kleine Methode um dem UserControl die nötigen Infos für die ComboBox zu geben:
VB.NET-Quellcode
- Public Sub Test(ByVal tmpDataTable As DataTable, ByVal tmpDataTableColumnName As String)
- If tmpDataTable.Columns.Contains(tmpDataTableColumnName) Then
- BindingSource.DataSource = frm_Main.SPOK_DataSet
- BindingSource.DataMember = tmpDataTable.TableName
- CmbBx_Input.DataSource = BindingSource
- CmbBx_Input.DisplayMember = tmpDataTableColumnName
- CmbBx_Input.ValueMember = tmpDataTableColumnName
- Else
- MsgBox("ColumnName ungültig")
- End If
- End Sub
Es stört mich, dass der Columnname als String übergeben wird. Ich habe zwar diese kleine If-Schleife die sicherstellt, dass dieses Column auch tatsächlich existiert, aber das ist trotzdem doof.
Wie kann man den Parameter zur Festlegung der DataTableColumn umformulieren, damit ich quasi schon bei der Parameterübergabe eine Auswahl der tatsächlich in tmpDataTable vorhandenen Colums habe (also ähnlich wie bei der Verwendung von enums)?
(An den eigentlichen Namen komme ich dann ja wieder mit Columnname heran, sodass DisplayMember und ValueMember dann doch noch ihren String bekommen.)
Sinngemäß stelle ich mir das so vor:
Geht das überhaupt?
lg
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „cl10k“ ()