Initial commit
This commit is contained in:
432
SW/AssessmentMgmt/Klassen/MySpalten.vb
Normal file
432
SW/AssessmentMgmt/Klassen/MySpalten.vb
Normal file
@@ -0,0 +1,432 @@
|
||||
Imports System
|
||||
Imports System.Data
|
||||
Imports System.Data.SqlTypes
|
||||
Imports System.Data.SqlClient
|
||||
'*
|
||||
' Object MyspaltenTitel
|
||||
'
|
||||
' Dieses Objekt liest die Daten aus der Tabelle Spalten und speichert diese in spaltendaten
|
||||
' Die Daten werden für die Spaltenbezeichnung der C1Datagrids verwendet
|
||||
'
|
||||
' Autor: Stefan Hutter
|
||||
' Datum: 2.12.2002
|
||||
'*
|
||||
Imports C1.Win.C1TrueDBGrid
|
||||
Namespace Utils
|
||||
|
||||
Public Class Tabellenspalte
|
||||
Private m_table As String
|
||||
Private m_field As String
|
||||
Private m_spaltenname As String
|
||||
Private m_locked As Boolean
|
||||
Private m_Width As Integer
|
||||
Private m_Order As Integer
|
||||
Private m_alsHacken As Boolean
|
||||
Private m_tiptext As String
|
||||
Private m_numberformat As String
|
||||
|
||||
Property ColWith() As Integer
|
||||
Get
|
||||
Return m_Width
|
||||
End Get
|
||||
Set(ByVal Value As Integer)
|
||||
m_Width = Value
|
||||
End Set
|
||||
End Property
|
||||
Property Order() As Integer
|
||||
Get
|
||||
Return m_Order
|
||||
End Get
|
||||
Set(ByVal Value As Integer)
|
||||
m_Order = Value
|
||||
End Set
|
||||
End Property
|
||||
Property Tabelle() As String
|
||||
Get
|
||||
Return m_table
|
||||
End Get
|
||||
Set(ByVal Value As String)
|
||||
m_table = Value
|
||||
End Set
|
||||
End Property
|
||||
Property Feld() As String
|
||||
Get
|
||||
Return m_field
|
||||
End Get
|
||||
Set(ByVal Value As String)
|
||||
m_field = Value
|
||||
End Set
|
||||
End Property
|
||||
Property spaltenname() As String
|
||||
Get
|
||||
Return m_spaltenname
|
||||
End Get
|
||||
Set(ByVal Value As String)
|
||||
m_spaltenname = Value
|
||||
End Set
|
||||
End Property
|
||||
Property locked() As Boolean
|
||||
Get
|
||||
Return m_locked
|
||||
End Get
|
||||
Set(ByVal Value As Boolean)
|
||||
m_locked = Value
|
||||
End Set
|
||||
End Property
|
||||
Property AlsHacken() As Boolean
|
||||
Get
|
||||
Return m_alsHacken
|
||||
End Get
|
||||
Set(ByVal Value As Boolean)
|
||||
m_alsHacken = Value
|
||||
End Set
|
||||
End Property
|
||||
Property TipText() As String
|
||||
Get
|
||||
Return m_tiptext
|
||||
End Get
|
||||
Set(ByVal Value As String)
|
||||
m_tiptext = Value
|
||||
End Set
|
||||
End Property
|
||||
Property Numberformat() As String
|
||||
Get
|
||||
Return m_numberformat
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
m_numberformat = value
|
||||
End Set
|
||||
End Property
|
||||
Public Sub New()
|
||||
|
||||
End Sub
|
||||
Public Sub New(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet)
|
||||
Spaltentitel_aktualisieren(daten, tablename, ds)
|
||||
End Sub
|
||||
Public Function getspalte()
|
||||
Try
|
||||
Dim myspalten As New MySpaltenTitel()
|
||||
myspalten.getspalte(Me.Tabelle, Me.Feld, Me.spaltenname, Me.locked, Me.ColWith, Me.Order, Me.AlsHacken, Me.TipText, Me.Numberformat)
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef ds As DataSet)
|
||||
Dim anzcols As Integer
|
||||
Dim i As Integer
|
||||
Dim s As String
|
||||
anzcols = daten.Splits(0).DisplayColumns.Count
|
||||
Me.Tabelle = tablename
|
||||
For i = 0 To daten.Columns.Count - 1
|
||||
s = daten.Columns(i).DataField
|
||||
Me.Feld = s
|
||||
Me.getspalte()
|
||||
daten.Columns(i).Caption = Me.spaltenname
|
||||
|
||||
If Me.ColWith = 0 Then
|
||||
daten.Splits(0).DisplayColumns(i).Width = 0
|
||||
daten.Splits(0).DisplayColumns(i).Visible = False
|
||||
Else
|
||||
daten.Splits(0).DisplayColumns(i).Width = Me.ColWith
|
||||
End If
|
||||
|
||||
If Me.locked Then
|
||||
daten.Splits(0).DisplayColumns(i).Locked = True
|
||||
End If
|
||||
|
||||
If Me.AlsHacken Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
End If
|
||||
|
||||
'Präsentation von aktiv
|
||||
If LCase(daten.Columns(i).DataField) = "aktiv" Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
daten.Columns(i).ValueItems.DefaultItem = True
|
||||
daten.Columns(i).DefaultValue = True
|
||||
daten.Columns(i).FilterText = True
|
||||
'Dim items As C1.Win.C1TrueDBGrid.ValueItems = daten.Columns("aktiv").ValueItems
|
||||
'items.Values.Clear()
|
||||
'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("False", False)) ' unchecked
|
||||
'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("True", True)) ' checked
|
||||
'items.Values.Add(New C1.Win.C1TrueDBGrid.ValueItem("", "INDETERMINATE")) ' indeterminate state
|
||||
|
||||
|
||||
End If
|
||||
Select Case LCase(daten.Columns(i).DataField)
|
||||
Case "erstellt_am", "erstelltam"
|
||||
daten.Columns(i).DefaultValue = Now
|
||||
End Select
|
||||
If daten.Columns(i).DataType.Name = "DateTime" Then
|
||||
daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss"
|
||||
End If
|
||||
If Me.Numberformat <> "" Then
|
||||
daten.columns(i).numberformat = Me.Numberformat
|
||||
End If
|
||||
Next
|
||||
ColumnOrder(tablename, daten)
|
||||
daten.HeadingStyle.WrapText = False
|
||||
End Function
|
||||
|
||||
Public Function Spaltentitel_aktualisieren(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Spalte_True_Setzen As Boolean = True)
|
||||
Dim anzcols As Integer
|
||||
Dim i As Integer
|
||||
Dim t As New DataTable()
|
||||
Dim s As String
|
||||
anzcols = daten.Splits(0).DisplayColumns.Count
|
||||
t = dt
|
||||
Me.Tabelle = tablename
|
||||
For i = 0 To daten.Columns.Count - 1
|
||||
s = daten.Columns(i).DataField
|
||||
'If s = "ApplikationNr" Then
|
||||
' MsgBox("Hallo")
|
||||
|
||||
'End If
|
||||
Me.Feld = s
|
||||
Me.getspalte()
|
||||
daten.Columns(i).Caption = Me.spaltenname
|
||||
|
||||
If Me.ColWith = 0 Then
|
||||
daten.Splits(0).DisplayColumns(i).Width = 0
|
||||
daten.Splits(0).DisplayColumns(i).Visible = False
|
||||
Else
|
||||
daten.Splits(0).DisplayColumns(i).Width = Me.ColWith
|
||||
End If
|
||||
|
||||
If Me.locked Then
|
||||
daten.Splits(0).DisplayColumns(i).Locked = True
|
||||
End If
|
||||
|
||||
If Me.AlsHacken Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
End If
|
||||
|
||||
'Präsentation von aktiv
|
||||
If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Spalte_True_Setzen = True Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
daten.Columns(i).ValueItems.DefaultItem = True
|
||||
daten.Columns(i).DefaultValue = True
|
||||
daten.Columns(i).FilterText = True
|
||||
End If
|
||||
Select Case LCase(daten.Columns(i).DataField)
|
||||
Case "erstellt_am", "erstelltam"
|
||||
daten.Columns(i).DefaultValue = Now
|
||||
End Select
|
||||
If daten.Columns(i).DataType.Name = "DateTime" Then
|
||||
daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss"
|
||||
End If
|
||||
If Me.Numberformat <> "" Then
|
||||
daten.columns(i).numberformat = Me.Numberformat
|
||||
End If
|
||||
Next
|
||||
ColumnOrder(tablename, daten)
|
||||
daten.HeadingStyle.WrapText = False
|
||||
End Function
|
||||
|
||||
Public Function Spaltentitel_aktualisieren_Optionaler_Aktiv_Filer(ByRef daten As Object, ByRef tablename As String, ByRef dt As DataTable, Optional ByVal Aktiv_Filter As String = "")
|
||||
Dim anzcols As Integer
|
||||
Dim i As Integer
|
||||
Dim t As New DataTable()
|
||||
Dim s As String
|
||||
anzcols = daten.Splits(0).DisplayColumns.Count
|
||||
t = dt
|
||||
Me.Tabelle = tablename
|
||||
For i = 0 To daten.Columns.Count - 1
|
||||
s = daten.Columns(i).DataField
|
||||
|
||||
Me.Feld = s
|
||||
Me.getspalte()
|
||||
If Me.spaltenname = "" Then
|
||||
daten.Splits(0).DisplayColumns(i).Width = 0
|
||||
Else
|
||||
daten.Columns(i).Caption = Me.spaltenname
|
||||
|
||||
If Me.ColWith = 0 Then
|
||||
daten.Splits(0).DisplayColumns(i).Width = 0
|
||||
daten.Splits(0).DisplayColumns(i).Visible = False
|
||||
Else
|
||||
daten.Splits(0).DisplayColumns(i).Width = Me.ColWith
|
||||
End If
|
||||
|
||||
If Me.locked Then
|
||||
daten.Splits(0).DisplayColumns(i).Locked = True
|
||||
End If
|
||||
|
||||
If Me.AlsHacken Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
End If
|
||||
|
||||
'Präsentation von aktiv
|
||||
If LCase(daten.Columns(i).DataField) = "aktiv" And Aktiv_Filter <> "" Then
|
||||
daten.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox
|
||||
daten.Columns(i).ValueItems.DefaultItem = True
|
||||
daten.Columns(i).DefaultValue = True
|
||||
daten.Columns(i).FilterText = Aktiv_Filter
|
||||
End If
|
||||
Select Case LCase(daten.Columns(i).DataField)
|
||||
Case "erstellt_am", "erstelltam"
|
||||
daten.Columns(i).DefaultValue = Now
|
||||
End Select
|
||||
If daten.Columns(i).DataType.Name = "DateTime" Then
|
||||
daten.Columns(i).NumberFormat = "dd.MM.yyyy HH:mm:ss"
|
||||
End If
|
||||
If Me.Numberformat <> "" Then
|
||||
daten.columns(i).numberformat = Me.Numberformat
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
ColumnOrder(tablename, daten)
|
||||
daten.HeadingStyle.WrapText = False
|
||||
End Function
|
||||
''' <summary>
|
||||
''' Sortierung der in der DB-Tabelle Spalaten festgelegten Reihenfolge
|
||||
''' </summary>
|
||||
''' <param name="Tablename"></param>
|
||||
''' <param name="Data"></param>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Public Function ColumnOrder(ByVal Tablename As String, ByRef Data As C1TrueDBGrid)
|
||||
Dim spaltendata As DataTable = Globals.Spaltendaten
|
||||
Dim dv() As DataRow
|
||||
Dim dr As DataRow
|
||||
Dim dc As New Collection
|
||||
dv = spaltendata.Select("Tabelle='" & Tablename & "'", "Reihenfolge desc, Eintragnr")
|
||||
For Each c As C1DisplayColumn In Data.Splits(0).DisplayColumns
|
||||
dc.Add(c)
|
||||
Next
|
||||
While Data.Splits(0).DisplayColumns.Count > 0
|
||||
Data.Splits(0).DisplayColumns.RemoveAt(0)
|
||||
End While
|
||||
|
||||
For Each dr In dv
|
||||
For Each e As C1DisplayColumn In dc
|
||||
If e.Name = dr.Item(3) Then
|
||||
Data.Splits(0).DisplayColumns.Insert(0, e)
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
|
||||
End Function
|
||||
End Class
|
||||
|
||||
Public Class MySpaltenTitel
|
||||
Private spaltendata As DataTable = Globals.Spaltendaten
|
||||
Sub New()
|
||||
load_data()
|
||||
End Sub
|
||||
|
||||
Sub dispose()
|
||||
spaltendata.Dispose()
|
||||
Me.dispose()
|
||||
End Sub
|
||||
|
||||
Public Function getspalte(ByVal tabelle As String, ByVal feld As String, ByRef spaltenname As String, ByRef locked As Boolean, _
|
||||
ByRef colwidth As Integer, ByRef order As Integer, ByRef alshacken As Boolean, ByRef tiptext As String, ByRef numberformat As String)
|
||||
If spaltendata.Rows.Count = 0 Then load_data()
|
||||
Dim dv() As DataRow
|
||||
Dim dr As DataRow
|
||||
dv = spaltendata.Select("Tabelle='" & tabelle & "' and tabellenspalte='" & feld & "'", "Reihenfolge, Eintragnr")
|
||||
If dv.Length = 0 Then
|
||||
spaltenname = ""
|
||||
locked = True
|
||||
colwidth = 0
|
||||
order = 0
|
||||
alshacken = False
|
||||
tiptext = ""
|
||||
numberformat = ""
|
||||
End If
|
||||
For Each dr In dv
|
||||
spaltenname = dr.Item(3)
|
||||
locked = dr.Item(4)
|
||||
colwidth = dr.Item(6)
|
||||
order = dr.Item(7)
|
||||
alshacken = dr.Item(5)
|
||||
tiptext = dr.Item(8)
|
||||
numberformat = dr.Item(14).ToString
|
||||
Next
|
||||
'Dim i As Integer
|
||||
'For i = 0 To spaltendata.Rows.Count - 1
|
||||
|
||||
' If UCase(spaltendata.Rows(i).Item(1)) = UCase(tabelle) And UCase(spaltendata.Rows(i).Item(2)) = UCase(feld) Then
|
||||
' spaltenname = spaltendata.Rows(i).Item(3)
|
||||
' locked = spaltendata.Rows(i).Item(4)
|
||||
' colwidth = spaltendata.Rows(i).Item(6)
|
||||
' order = spaltendata.Rows(i).Item(7)
|
||||
' alshacken = spaltendata.Rows(i).Item(5)
|
||||
' tiptext = spaltendata.Rows(i).Item(8)
|
||||
' Exit Function
|
||||
' End If
|
||||
'Next
|
||||
|
||||
End Function
|
||||
|
||||
Public Sub load_data()
|
||||
If Me.spaltendata.Rows.Count > 0 Then Exit Sub
|
||||
Dim spalten As New Utils.clsSpalten()
|
||||
spaltendata.Rows.Clear()
|
||||
spalten.cpMainConnectionProvider = conn
|
||||
spaltendata = spalten.Select_All_Aktiv
|
||||
Globals.Spaltendaten = spaltendata
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Public Class clsSpalten
|
||||
Inherits DB.clsSpalten
|
||||
''' <summary>
|
||||
''' Purpose: SelectAll method. This method will Select all rows from the table.
|
||||
''' </summary>
|
||||
''' <returns>DataTable object if succeeded, otherwise an Exception is thrown. </returns>
|
||||
''' <remarks>
|
||||
''' Properties set after a succesful call of this method:
|
||||
''' <UL>
|
||||
''' <LI>iErrorCode</LI>
|
||||
'''</UL>
|
||||
''' </remarks>
|
||||
Public Function Select_All_Aktiv() As DataTable
|
||||
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
||||
scmCmdToExecute.CommandText = "dbo.[pr_spalten_SelectAll_Aktiv]"
|
||||
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
||||
Dim dtToReturn As DataTable = New DataTable("spalten")
|
||||
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
||||
|
||||
' // Use base class' connection object
|
||||
scmCmdToExecute.Connection = m_scoMainConnection
|
||||
|
||||
Try
|
||||
scmCmdToExecute.Parameters.Add(New SqlParameter("@iErrorCode", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, m_iErrorCode))
|
||||
|
||||
If m_bMainConnectionIsCreatedLocal Then
|
||||
' // Open connection.
|
||||
m_scoMainConnection.Open()
|
||||
Else
|
||||
If m_cpMainConnectionProvider.bIsTransactionPending Then
|
||||
scmCmdToExecute.Transaction = m_cpMainConnectionProvider.stCurrentTransaction
|
||||
End If
|
||||
End If
|
||||
|
||||
' // Execute query.
|
||||
sdaAdapter.Fill(dtToReturn)
|
||||
m_iErrorCode = New SqlInt32(CType(scmCmdToExecute.Parameters.Item("@iErrorCode").Value, SqlInt32))
|
||||
|
||||
If Not m_iErrorCode.Equals(New SqlInt32(0)) Then
|
||||
' // Throw error.
|
||||
Throw New Exception("Stored Procedure 'pr_spalten_SelectAll' reported the ErrorCode: " & m_iErrorCode.ToString())
|
||||
End If
|
||||
|
||||
Return dtToReturn
|
||||
Catch ex As Exception
|
||||
' // some error occured. Bubble it to caller and encapsulate Exception object
|
||||
Throw New Exception("clsSpalten::SelectAll::Error occured.", ex)
|
||||
Finally
|
||||
If m_bMainConnectionIsCreatedLocal Then
|
||||
' // Close connection.
|
||||
m_scoMainConnection.Close()
|
||||
End If
|
||||
scmCmdToExecute.Dispose()
|
||||
sdaAdapter.Dispose()
|
||||
End Try
|
||||
End Function
|
||||
|
||||
End Class
|
||||
End Namespace
|
||||
Reference in New Issue
Block a user