'Code der vom Fenster aud gestartet wird:
Dim myDV As New csDV_Schaltungsberechtigter
myDV.Reload()
ComboBox1.DataSource = myDV
ComboBox1.DisplayMember = "Name"
ComboBox1.ValueMember = "ID"
try
txtAdresse.DataBindings.Add("Text", myDV, "Adresse")
txtName.DataBindings.Add("Text", myDV, "Name")
txtOrt.DataBindings.Add("Text", myDV, "Ort")
txtPLZ.DataBindings.Add("Text", myDV, "PLZ")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
'******************************************************************************
' ******
Imports DevExpress.Xpo
Public Class csDV_Schaltungsberechtigter : Inherits DataView
'DataView füllen
Public Sub Reload(Optional ByVal Where_KundenNr As Integer = -1)
Dim dv As New DataView
MyBase.Table = Nothing
Try
Dim sql As String = "Select Name, Vorname, Adresse, Land, PLZ, Ort," & _
"Telefon, Fax, ID " & _
"FROM csDB_Schaltungsberechtigter " & _
"WHERE IstGeloescht=0"
Debug.WriteLine(sql)
dv = SelectInDataView(sql)
dv.Table.Columns.Item(0).Caption = "Name"
dv.Table.Columns.Item(1).Caption = "Vorname"
dv.Table.Columns.Item(2).Caption = "Adresse"
dv.Table.Columns.Item(3).Caption = "Land"
dv.Table.Columns.Item(4).Caption = "PLZ"
dv.Table.Columns.Item(5).Caption = "Ort"
dv.Table.Columns.Item(6).Caption = "Telefon"
dv.Table.Columns.Item(7).Caption = "Fax"
dv.Table.Columns.Item(8).Caption = "ID"
MyBase.Table = dv.Table
'MyBase.Sort = "Name"
Catch ex As Exception
MyBase.Table = Nothing
End Try
End Sub
Private Function SelectInDataView(ByVal SQL As String) As DataView
Dim MyDV As New DataView
Dim command As IDbCommand = CurrentSession.Connection.CreateCommand()
Try
command.CommandText = SQL
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Dim reader As IDataReader
Dim MyDataTable As New DataTable("tabelle")
Try
MyDataTable.Clear()
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Dim row As DataRow
Try
reader = command.ExecuteReader(CommandBehavior.SequentialAccess)
Catch ex As Exception
Debug.WriteLine(ex.Message)
'DV Struktur erstellen anhand des SQL-Befehls
Dim anf = InStr(LCase(SQL), "select") + 6
Dim ende = InStr(LCase(SQL), "from") - anf - 2
Dim SQL1 As String = SQL.Substring(anf, ende)
Header = SQL1.Split(",")
Dim i As Integer
Try
For i = 0 To UBound(Header)
MyDataTable.Columns.Add(New DataColumn(Header(i).ToString, _
GetType(String)))
Next
MyDataTable.Columns.Add(New DataColumn("CP", GetType(String)))
MyDV.Table = MyDataTable
Return MyDV
Exit Function
Catch exx As Exception
MessageBox.Show(exx.Message): return False
End Try
End Try
Try
Dim i As Integer, z As Integer = 0
If reader.FieldCount >= 0 Then
For i = 0 To reader.FieldCount - 1
MyDataTable.Columns.Add(New DataColumn(reader.GetName( _
i).ToString, GetType(String)))
Next
MyDataTable.Columns.Add(New DataColumn("CP", GetType(Integer)))
End If
While (reader.Read())
row = MyDataTable.NewRow
For i = 0 To reader.FieldCount - 1
Try
row(reader.GetName(i).ToString) = reader.GetValue(i)
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Next
row("CP") = z
z += 1
MyDataTable.Rows.Add(row)
End While
MyDV.Table = MyDataTable
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Try
reader.Close()
Catch ex As Exception
Debug.WriteLine(ex.Message)
End Try
Return MyDV
End Function
#Region " Konstruktor "
Public Sub New()
End Sub
#End Region
End Class |