also ich tippe darauf das ich so an die 15 bis 20k zeilen code in .Net geschrieben habe (datenbankanwendung)
aber ein Navigator ist mir noch nicht untergekommen, mag so halbautomatische dinger nicht
ich habe auch nicht genau verstanden was Dein problem ist, aber wenn es darum geht das eine Tabelle 150 Spalten hat und ein Datensatz auf einem Formular angezeigt werden soll, denke ich habe ich da was für dich
ich übergebe ein Formular (bei mir ist es ein frmAddEdit zum bearbeiten eines datensatzes) und ein dt meist mit einer zeile
alle controls haben den entsprechenden namen der Spalte desen wert es bekommen soll
ControlName: txt_Name
Spaltenname: Adr_Name
ein zweiter _ ist jetzt aus meinem schnellen gedächtnis nicht erlaubt, das kennzeichnet nämlich ein Verknüpfungsfeld
und der code geht jede spalte durch sucht das entsprechende control und schreibt den wert da rein (beim datetimepicker habe ich mir einen eigenen geschrieben, kann sein das es mit dem org nicht funktioniert)
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("") And Not TypeOf con Is _
oRRoSoft.MyControls.MyRControls.MyEndLessList 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 0 |