You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
4.5 KiB

Imports System.IO
Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
''' <summary>
''' Form mit generalisiertem Domain-Table-Editor.
''' </summary>
''' <remarks>
''' <img src="SampleDomainEditor.png"/>
''' </remarks>
''' <seealso
''' cref="Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable">Vertragsverwaltung.TKB.VV.Sysadmin.DomainTable</seealso>
Public Class frmDomainEditorExtTables
#Region "Deklarationen"
Dim ds As New DataSet
Dim da As SqlDataAdapter
Dim co As New SqlConnection
Dim cb As SqlCommandBuilder
Dim tablename As String
Dim SpaltenTitel As New TKB.VV.Utils.Tabellenspalte
#End Region
#Region "Formular-Funktionen"
''' <summary>
''' Tabellenname übernehmen und Objekt DomainTable initialisieren
''' Initialisierung der Komponenten
''' </summary>
''' <param name="tblname">Tabellenname der Tabelle, welche über den Domaineditor editiert werden soll</param>
''' <remarks>Benötigt werden entsprechende Stored_Procedures, welche mit LBLLGEN_2 generiert wurden
''' pr_"Tablename"_SelectAll
''' pr_"Tablename"_Update
''' </remarks>
Public Sub New(ByVal tblname As String, ByVal Connectionstring As String)
' Domaintable = New TKB.VV.Sysadmin.DomainTable(tblname)
Me.InitializeComponent()
' Me.Text = "Domaineditor: " & tblname
Me.tablename = tblname
Me.co.ConnectionString = Connectionstring
End Sub
''' <summary>
''' Zuordnung der Daten aus Domaintable und Spaltentitel des Grids setzen
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub frmDomainEditor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
da = New SqlDataAdapter("Select * from " & Me.tablename, Me.co)
cb = New SqlCommandBuilder(da)
da.Fill(ds, "ExtTable")
Me.C1Daten.DataSource = ds.Tables(0)
Me.C1Daten.DataMember = ds.Tables(0).TableName
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
''' <summary>
''' Schliessen des Formulars
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
''' <summary>
''' Ruft BeendetnToolStipMenuItem_Click auf
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBtnQuit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnQuit.Click
BeendenToolStripMenuItem_Click(sender, e)
End Sub
''' <summary>
''' Prüfung auf allfällige Daten-Changes. Wurden Daten verändert, kann der User entscheiden, ob gespeichert, nichtgespeichert oder
''' das Formular nicht gespeichert werden soll.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub frmDomainEditor_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If Me.ds.HasChanges Then
Dim msg As New TKB.VV.Utils.MyMessage
Dim msgboxres As MsgBoxResult
msgboxres = msg.Show_MessageYesNoCancel(3)
If msgboxres = MsgBoxResult.Cancel Then
e.Cancel = True
Exit Sub
End If
If msgboxres = MsgBoxResult.Yes Then
Try
da.Update(ds, "ExtTable")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End If
Try
Me.co.Close()
da.Dispose()
co.Dispose()
cb.Dispose()
ds.Dispose()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
''' <summary>
''' Sichern der Daten
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub TSBtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TSBtnSave.Click
Try
da.Update(ds, "ExtTable")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
#End Region
End Class