das ist das laden des forumlars (wenn man OOP so halbwegs verstanden hat, hat man ja nur mehr eines)
jedes Control (Textbox, DateTimePicker, CheckBox und blablabla) muss wie folgt heissen:
textBox.Name = "txt_Adr_Name" (feld Adr_Name wird geladen)
CheckBox.Name = "chk_Adr_Aktiv" (feld Adr_Aktiv wird geladen
Dim dt as datatable = cmd.CreateDataTable("SELECT LfdNr_Adr, Adr_Name," & _
"Adr_Aktiv FROM Adressen WHERE LfdNr_Adr = 1")
me.SetValue(me, dt) ' ich befinde mich im form_Load (o.ä.) des bearbeiten
' formulars
Protected Overridable Sub SetValue(ByVal Formular As frmAddEdit, ByVal dt _
As datatable)
For x As Integer = 0 To dt.Columns.Count - 1
SetValue(Formular, dt.Columns(x).ColumnName, dt.Rows(0).Item(x))
Next
End Sub
Private Sub SetValue(ByVal Par_Con As Control, ByVal ColumnName As String, _
ByVal Value As Object)
For Each con As Control In Par_Con.Controls
If Not con.Name.Equals("") Then
If con.Name.Substring(3).ToUpper = ColumnName.Substring( _
ColumnName.IndexOf("_")).ToUpper Then
If TypeOf con Is MyNumTextBox Then
If TypeOf Value Is System.DBNull Then Value = 0
CType(con, MyNumTextBox).Value = CType(Value, Decimal)
Continue For
ElseIf TypeOf con Is MyTextBox Then
If TypeOf Value Is System.DBNull Then Value = ""
CType(con, MyTextBox).Text = CType(Value, String)
Continue For
ElseIf TypeOf con Is MyLinkLabel Then
If TypeOf Value Is System.DBNull Then Value = ""
CType(con, MyLinkLabel).Text = CType(Value, String)
Continue For
ElseIf TypeOf con Is MyLabel Then
If TypeOf Value Is System.DBNull Then Value = ""
If TypeOf Value Is Date Then
CType(con, MyLabel).Text = CType(Value, _
Date).ToString("dd.MM.yyyy HH:mm")
ElseIf TypeOf Value Is Integer Then
CType(con, MyLabel).Text = CType(Value, _
Integer).ToString("N")
ElseIf TypeOf Value Is Double Then
CType(con, MyLabel).Text = CType(Value, _
Integer).ToString("N2")
Else
CType(con, MyLabel).Text = Value.ToString
End If
Continue For
ElseIf TypeOf con Is MyComboBox Then
If TypeOf Value Is System.DBNull Then Value = 0
CType(con, MyComboBox).SelectedID = CType(Value, _
Integer)
Continue For
ElseIf TypeOf con Is MyDateTimePicker Then
If TypeOf Value Is System.DBNull Then Value = New Date
CType(con, MyDateTimePicker).Value = Value
Continue For
ElseIf TypeOf con Is MyCheckBox Then
If TypeOf Value Is System.DBNull Then Value = CType( _
False, Boolean)
CType(con, MyCheckBox).Checked = CType(Value, Boolean)
Continue For
End If
End If
SetValue(con, ColumnName, Value)
End If
Next
End Sub das speichern gibts natürlich nicht, musst ja selbst auch noch was mach  0 |