diff --git a/GUIs.ZooFlow/ClassControlCreator.vb b/GUIs.ZooFlow/ClassControlCreator.vb index de95c676..41d8306c 100644 --- a/GUIs.ZooFlow/ClassControlCreator.vb +++ b/GUIs.ZooFlow/ClassControlCreator.vb @@ -1,4 +1,6 @@ -Imports DevExpress.XtraGrid +Imports DevExpress.XtraEditors +Imports DevExpress.XtraGrid +Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraTab Imports DigitalData.Modules.Logging @@ -52,7 +54,12 @@ Public Class ClassControlCreator Public Class ControlMetadata Public Guid As Integer - Public [ReadOnly] As Boolean = False + Public AttrID As Integer + Public AttrTitle As String + Public AttrType As String + Public DTSource As DataTable + Public MinValue As String + Public MaxValue As String End Class Private Shared Function TransformDataRow(row As DataRow, pXPosition As Integer, pYPosition As Integer) As ControlDBProps @@ -78,12 +85,27 @@ Public Class ClassControlCreator '.Color = oColor End Function - Public Function CreateBaseControl(ctrl As Control, OAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As Control + Public Function CreateBaseControl(ctrl As Control, pAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As Control Try - Dim props As ControlDBProps = TransformDataRow(OAttributeRow, pXPosition, pYPosition) - + Dim props As ControlDBProps = TransformDataRow(pAttributeRow, pXPosition, pYPosition) + Dim oSourceSQL As String = pAttributeRow.Item("SOURCE_SQL").ToString + oSourceSQL = oSourceSQL.Replace("@USER_LANGUAGE", My.Application.User.Language) + oSourceSQL = oSourceSQL.Replace("@pUSER_ID", My.Application.User.UserId) + oSourceSQL = oSourceSQL.Replace("@RESULT_TITLE", pAttributeRow.Item("ATTRIBUTE_TITLE").ToString) + Dim oDTSource As DataTable = My.Database_IDB.GetDatatable(oSourceSQL) + Dim oMinValue As String = "" + Dim oMaxValue As String = "" + If Not IsNothing(oDTSource) Then + oMinValue = oDTSource.Rows(0).Item(0) + oMaxValue = oDTSource.Rows(oDTSource.Rows.Count - 1).Item(0) + End If ctrl.Tag = New ControlMetadata() With { - .Guid = props.Guid + .Guid = CType(pAttributeRow.Item("GUID"), Integer), + .AttrID = CType(pAttributeRow.Item("ATTRIBUTE_ID"), Integer), + .AttrTitle = CType(pAttributeRow.Item("ATTRIBUTE_TITLE"), String), + .DTSource = CType(oDTSource, DataTable), + .MinValue = oMinValue, + .MaxValue = oMaxValue } ctrl.Name = props.Name ctrl.Location = props.Location @@ -127,16 +149,38 @@ Public Class ClassControlCreator Return oDataGridView End Function + Public Function CreateExistingDatepicker(pAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As DateEdit + Dim oDateControl As DateEdit = CType(CreateBaseControl(New DateEdit(), pAttributeRow, pXPosition, pYPosition), DateEdit) + + oDateControl.Size = New Size(100, 20) + oDateControl.Properties.HighlightTodayCell = True + oDateControl.Properties.ShowWeekNumbers = True + oDateControl.Properties.ShowClear = True + Try + Dim oMinDate As Date = DirectCast(oDateControl.Tag, ClassControlCreator.ControlMetadata).MinValue + oDateControl.Properties.MinValue = oMinDate + Catch ex As Exception + + End Try + Try + Dim oMaxDate As Date = DirectCast(oDateControl.Tag, ClassControlCreator.ControlMetadata).MaxValue + oDateControl.Properties.MaxValue = oMaxDate + Catch ex As Exception + + End Try + + Return oDateControl + End Function Public Function CreateExistingGridControl(pAttributeRow As DataRow, pXPosition As Integer, pYPosition As Integer) As GridControl - Dim oControl As GridControl = CreateBaseControl(New GridControl(), pAttributeRow, pXPosition, pYPosition) + Dim oMyNewGridControl As GridControl = CreateBaseControl(New GridControl(), pAttributeRow, pXPosition, pYPosition) Dim oDatatable As New DataTable Dim oView As DevExpress.XtraGrid.Views.Grid.GridView - oControl.ForceInitialize() + oMyNewGridControl.ForceInitialize() - oView = oControl.MainView + oView = CType(oMyNewGridControl.MainView, GridView) oView.OptionsView.ShowGroupPanel = False - oControl.ContextMenu = Nothing + oMyNewGridControl.ContextMenu = Nothing oView.Appearance.EvenRow.BackColor = Color.LightBlue oView.OptionsBehavior.Editable = False @@ -148,11 +192,11 @@ Public Class ClassControlCreator oView.OptionsView.ShowAutoFilterRow = True oView.OptionsView.EnableAppearanceEvenRow = True - oControl.Size = New Size(DEFAULT_WIDTH_GRIDVIEW, DEFAULT_HEIGHT_GRIDVIEW) + oMyNewGridControl.Size = New Size(DEFAULT_WIDTH_GRIDVIEW, DEFAULT_HEIGHT_GRIDVIEW) ' Add and configure navigator to delete rows - oControl.UseEmbeddedNavigator = True - With oControl.EmbeddedNavigator.Buttons + oMyNewGridControl.UseEmbeddedNavigator = True + With oMyNewGridControl.EmbeddedNavigator.Buttons .CancelEdit.Visible = False .Edit.Visible = False .EndEdit.Visible = False @@ -166,20 +210,16 @@ Public Class ClassControlCreator End With GridTables.Clear() - Dim oSQL As String = pAttributeRow.Item("SOURCE_SQL").ToString - oSQL = oSQL.Replace("@USER_LANGUAGE", My.Application.User.Language) - oSQL = oSQL.Replace("@pUSER_ID", My.Application.User.UserId) - Dim oDTSource As DataTable = My.Database_IDB.GetDatatable(oSQL) - Dim oColumn = New DataColumn() With { - .DataType = GetType(String), - .ColumnName = pAttributeRow.Item("ATTRIBUTE_TITLE").ToString, - .Caption = pAttributeRow.Item("ATTRIBUTE_TITLE").ToString, - .ReadOnly = False - } + 'Dim oColumn = New DataColumn() With { + ' .DataType = GetType(String), + ' .ColumnName = pAttributeRow.Item("ATTRIBUTE_TITLE").ToString, + ' .Caption = pAttributeRow.Item("ATTRIBUTE_TITLE").ToString, + ' .ReadOnly = False + ' } - oDatatable.Columns.Add(oColumn) + 'oDatatable.Columns.Add(oColumn) 'For Each oRow As DataRow In DT_MY_COLUMNS.Rows ' ' Create Columns in Datatable @@ -212,21 +252,21 @@ Public Class ClassControlCreator 'Next + Dim oDTSource As DataTable = DirectCast(oMyNewGridControl.Tag, ClassControlCreator.ControlMetadata).DTSource + oMyNewGridControl.DataSource = oDTSource oView.PopulateColumns() - oControl.DataSource = oDTSource + + oMyNewGridControl.RefreshDataSource() + oMyNewGridControl.ForceInitialize() + 'Try + ' oView.Columns(0).Caption = "Existierende Werte" + 'Catch ex As Exception + + 'End Try - oControl.RefreshDataSource() - oControl.ForceInitialize() - Try - oView.Columns(0).Caption = "Existierende Werte" - Catch ex As Exception - End Try - - - 'AddHandler oView.CellValueChanged, AddressOf HandleCellValueChanged 'AddHandler oView.CustomRowCellEdit, Sub(sender As Object, e As CustomRowCellEditEventArgs) ' For Each oRow As DataRow In DT_MY_COLUMNS.Rows ' If oRow.Item("SPALTENNAME") = e.Column.FieldName Then @@ -274,8 +314,9 @@ Public Class ClassControlCreator ' End If ' End Sub - Return oControl + Return oMyNewGridControl End Function + Public Function AddCheckBox(indexname As String, y As Integer, vorbelegung As String, caption As String) Try Dim value As Boolean = False @@ -397,18 +438,18 @@ Public Class ClassControlCreator AddHandler cmb.SelectedIndexChanged, AddressOf OncmbSIndexChanged AddHandler cmb.GotFocus, AddressOf OncmbGotFocus AddHandler cmb.LostFocus, AddressOf OncmbLostFocus - AddHandler cmb.KeyDown, AddressOf OncmbKeyDown + 'AddHandler cmb.KeyDown, AddressOf OncmbKeyDown Return cmb End Function - Public Sub OncmbKeyDown(sender As System.Object, e As System.EventArgs) - Dim cmb As ComboBox = sender + 'Public Sub OncmbKeyDown(sender As System.Object, e As System.EventArgs) + ' Dim cmb As ComboBox = sender - ' Verhindert, dass Auswahlliste und Autocompleteliste übereinander liegen - If cmb.DroppedDown = True Then - cmb.DroppedDown = False - End If - End Sub + ' ' Verhindert, dass Auswahlliste und Autocompleteliste übereinander liegen + ' If cmb.DroppedDown = True Then + ' cmb.DroppedDown = False + ' End If + 'End Sub Public Sub OncmbGotFocus(sender As System.Object, e As System.EventArgs) Dim cmb As ComboBox = sender @@ -421,7 +462,7 @@ Public Class ClassControlCreator End Sub Public Sub OncmbSIndexChanged(sender As System.Object, e As System.EventArgs) - If Form.FormLoaded = False Then + If Form.FormShown = False Then Exit Sub End If @@ -439,6 +480,7 @@ Public Class ClassControlCreator End If End Sub + 'Private Sub Get_NextComboBoxResults(cmb As ComboBox) ' Try ' Dim indexname = cmb.Name.Replace("cmb", "") diff --git a/GUIs.ZooFlow/My Project/licenses.licx b/GUIs.ZooFlow/My Project/licenses.licx index e7639e42..db160bad 100644 --- a/GUIs.ZooFlow/My Project/licenses.licx +++ b/GUIs.ZooFlow/My Project/licenses.licx @@ -1,7 +1,8 @@ -DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a -DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.DateEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ZooFlow/frmFlowForm_Test1.Designer.vb b/GUIs.ZooFlow/frmFlowForm_Test1.Designer.vb index 3b962d77..bb70ee53 100644 --- a/GUIs.ZooFlow/frmFlowForm_Test1.Designer.vb +++ b/GUIs.ZooFlow/frmFlowForm_Test1.Designer.vb @@ -22,8 +22,19 @@ Partial Class frmFlowForm_Test1 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. Private Sub InitializeComponent() + Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton() Me.SuspendLayout() ' + 'SimpleButton1 + ' + Me.SimpleButton1.Appearance.BackColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer)) + Me.SimpleButton1.Appearance.Options.UseBackColor = True + Me.SimpleButton1.Location = New System.Drawing.Point(179, 12) + Me.SimpleButton1.Name = "SimpleButton1" + Me.SimpleButton1.Size = New System.Drawing.Size(75, 41) + Me.SimpleButton1.TabIndex = 0 + Me.SimpleButton1.Text = "SimpleButton1" + ' 'frmFlowForm_Test1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -31,6 +42,7 @@ Partial Class frmFlowForm_Test1 Me.BackgroundImage = Global.DigitalData.GUIs.ZooFlow.My.Resources.Resources.ZOOFLOW_Home_klein Me.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None Me.ClientSize = New System.Drawing.Size(249, 254) + Me.Controls.Add(Me.SimpleButton1) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None Me.Name = "frmFlowForm_Test1" Me.Text = "frmFlowForm_Test1" @@ -38,4 +50,6 @@ Partial Class frmFlowForm_Test1 Me.ResumeLayout(False) End Sub + + Friend WithEvents SimpleButton1 As DevExpress.XtraEditors.SimpleButton End Class diff --git a/GUIs.ZooFlow/frmSearchStart.Designer.vb b/GUIs.ZooFlow/frmSearchStart.Designer.vb index befeb935..3c345fb9 100644 --- a/GUIs.ZooFlow/frmSearchStart.Designer.vb +++ b/GUIs.ZooFlow/frmSearchStart.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class frmSearchStart Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,16 +20,19 @@ Partial Class frmSearchStart 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ + Private Sub InitializeComponent() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmSearchStart)) Dim WindowsUIButtonImageOptions1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions = New DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions() - Dim WindowsUIButtonImageOptions2 As DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions = New DevExpress.XtraBars.Docking2010.WindowsUIButtonImageOptions() Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl() - Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonItemNewSearch = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem() + Me.BarHeaderItem1 = New DevExpress.XtraBars.BarHeaderItem() + Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem() + Me.RepositoryItemRadioGroup1 = New DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup() Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage() Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() + Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup() Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar() Me.Panel1 = New System.Windows.Forms.Panel() Me.cmbProfile = New System.Windows.Forms.ComboBox() @@ -46,7 +49,9 @@ Partial Class frmSearchStart Me.XtraTabPage8 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPage9 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPage10 = New DevExpress.XtraTab.XtraTabPage() + Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.XtraTabControl1.SuspendLayout() @@ -55,22 +60,23 @@ Partial Class frmSearchStart 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItem1, Me.BarButtonItem2}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.BarButtonItemNewSearch, Me.BarButtonItem2, Me.BarHeaderItem1, Me.BarEditItem1, Me.BarButtonItem1}) Me.RibbonControl1.Location = New System.Drawing.Point(0, 0) - Me.RibbonControl1.MaxItemId = 3 + Me.RibbonControl1.MaxItemId = 6 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1}) + Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemRadioGroup1}) Me.RibbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.[False] Me.RibbonControl1.Size = New System.Drawing.Size(874, 150) Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1 ' - 'BarButtonItem1 + 'BarButtonItemNewSearch ' - Me.BarButtonItem1.Caption = "Neue Suche" - Me.BarButtonItem1.Id = 1 - Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) - Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) - Me.BarButtonItem1.Name = "BarButtonItem1" + Me.BarButtonItemNewSearch.Caption = "Neue Suche" + Me.BarButtonItemNewSearch.Id = 1 + Me.BarButtonItemNewSearch.ImageOptions.Image = CType(resources.GetObject("BarButtonItemNewSearch.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItemNewSearch.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItemNewSearch.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItemNewSearch.Name = "BarButtonItemNewSearch" ' 'BarButtonItem2 ' @@ -80,19 +86,43 @@ Partial Class frmSearchStart Me.BarButtonItem2.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem2.ImageOptions.LargeImage"), System.Drawing.Image) Me.BarButtonItem2.Name = "BarButtonItem2" ' + 'BarHeaderItem1 + ' + Me.BarHeaderItem1.Caption = "BarHeaderItem1" + Me.BarHeaderItem1.Id = 3 + Me.BarHeaderItem1.Name = "BarHeaderItem1" + ' + 'BarEditItem1 + ' + Me.BarEditItem1.Caption = "BarEditItem1" + Me.BarEditItem1.Edit = Me.RepositoryItemRadioGroup1 + Me.BarEditItem1.Id = 4 + Me.BarEditItem1.Name = "BarEditItem1" + ' + 'RepositoryItemRadioGroup1 + ' + Me.RepositoryItemRadioGroup1.Name = "RepositoryItemRadioGroup1" + ' 'RibbonPage1 ' - Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1}) + Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2}) Me.RibbonPage1.Name = "RibbonPage1" Me.RibbonPage1.Text = "Start" ' 'RibbonPageGroup1 ' Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1) + Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemNewSearch) Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem2) Me.RibbonPageGroup1.Name = "RibbonPageGroup1" Me.RibbonPageGroup1.Text = "RibbonPageGroup1" ' + 'RibbonPageGroup2 + ' + Me.RibbonPageGroup2.AllowTextClipping = False + Me.RibbonPageGroup2.Name = "RibbonPageGroup2" + Me.RibbonPageGroup2.Text = "Aktuelle Filter" + ' 'RibbonStatusBar1 ' Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 574) @@ -137,9 +167,10 @@ Partial Class frmSearchStart ' 'WindowsUIButtonPanel1 ' + Me.WindowsUIButtonPanel1.AppearanceButton.Hovered.BackColor = System.Drawing.Color.LightBlue + Me.WindowsUIButtonPanel1.AppearanceButton.Hovered.Options.UseBackColor = True WindowsUIButtonImageOptions1.Image = CType(resources.GetObject("WindowsUIButtonImageOptions1.Image"), System.Drawing.Image) - WindowsUIButtonImageOptions2.Image = CType(resources.GetObject("WindowsUIButtonImageOptions2.Image"), System.Drawing.Image) - Me.WindowsUIButtonPanel1.Buttons.AddRange(New DevExpress.XtraEditors.ButtonPanel.IBaseButton() {New DevExpress.XtraBars.Docking2010.WindowsUIButton("Suche ausführen", True, WindowsUIButtonImageOptions1, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, "Run", -1, False), New DevExpress.XtraBars.Docking2010.WindowsUIButton("Button", True, WindowsUIButtonImageOptions2, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, Nothing, -1, False)}) + Me.WindowsUIButtonPanel1.Buttons.AddRange(New DevExpress.XtraEditors.ButtonPanel.IBaseButton() {New DevExpress.XtraBars.Docking2010.WindowsUIButton("Suche ausführen", True, WindowsUIButtonImageOptions1, DevExpress.XtraBars.Docking2010.ButtonStyle.PushButton, "", -1, True, Nothing, True, False, True, "Run", -1, False)}) Me.WindowsUIButtonPanel1.Dock = System.Windows.Forms.DockStyle.Bottom Me.WindowsUIButtonPanel1.Location = New System.Drawing.Point(0, 506) Me.WindowsUIButtonPanel1.Name = "WindowsUIButtonPanel1" @@ -173,37 +204,37 @@ Partial Class frmSearchStart 'XtraTabPage3 ' Me.XtraTabPage3.Name = "XtraTabPage3" - Me.XtraTabPage3.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage3.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage3.Text = "Search#3" ' 'XtraTabPage4 ' Me.XtraTabPage4.Name = "XtraTabPage4" - Me.XtraTabPage4.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage4.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage4.Text = "Search#4" ' 'XtraTabPage5 ' Me.XtraTabPage5.Name = "XtraTabPage5" - Me.XtraTabPage5.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage5.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage5.Text = "Search#5" ' 'XtraTabPage6 ' Me.XtraTabPage6.Name = "XtraTabPage6" - Me.XtraTabPage6.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage6.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage6.Text = "Search#6" ' 'XtraTabPage7 ' Me.XtraTabPage7.Name = "XtraTabPage7" - Me.XtraTabPage7.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage7.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage7.Text = "Search#7" ' 'XtraTabPage8 ' Me.XtraTabPage8.Name = "XtraTabPage8" - Me.XtraTabPage8.Size = New System.Drawing.Size(714, 274) + Me.XtraTabPage8.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage8.Text = "Search#8" ' 'XtraTabPage9 @@ -218,6 +249,14 @@ Partial Class frmSearchStart Me.XtraTabPage10.Size = New System.Drawing.Size(872, 274) Me.XtraTabPage10.Text = "Search#10" ' + 'BarButtonItem1 + ' + Me.BarButtonItem1.Caption = "Suche leeren" + Me.BarButtonItem1.Id = 5 + Me.BarButtonItem1.ImageOptions.Image = CType(resources.GetObject("BarButtonItem1.ImageOptions.Image"), System.Drawing.Image) + Me.BarButtonItem1.ImageOptions.LargeImage = CType(resources.GetObject("BarButtonItem1.ImageOptions.LargeImage"), System.Drawing.Image) + Me.BarButtonItem1.Name = "BarButtonItem1" + ' 'frmSearchStart ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -234,6 +273,7 @@ Partial Class frmSearchStart Me.Text = "frmSearchStart" Me.TopMost = True CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.RepositoryItemRadioGroup1, System.ComponentModel.ISupportInitialize).EndInit() Me.Panel1.ResumeLayout(False) Me.Panel1.PerformLayout() CType(Me.XtraTabControl1, System.ComponentModel.ISupportInitialize).EndInit() @@ -251,7 +291,7 @@ Partial Class frmSearchStart Friend WithEvents cmbProfile As ComboBox Friend WithEvents Label1 As Label Friend WithEvents WindowsUIButtonPanel1 As DevExpress.XtraBars.Docking2010.WindowsUIButtonPanel - Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarButtonItemNewSearch As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem2 As DevExpress.XtraBars.BarButtonItem Friend WithEvents XtraTabControl1 As DevExpress.XtraTab.XtraTabControl Friend WithEvents XtraTabPage1 As DevExpress.XtraTab.XtraTabPage @@ -264,4 +304,9 @@ Partial Class frmSearchStart Friend WithEvents XtraTabPage8 As DevExpress.XtraTab.XtraTabPage Friend WithEvents XtraTabPage9 As DevExpress.XtraTab.XtraTabPage Friend WithEvents XtraTabPage10 As DevExpress.XtraTab.XtraTabPage + Friend WithEvents BarHeaderItem1 As DevExpress.XtraBars.BarHeaderItem + Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem + Friend WithEvents RepositoryItemRadioGroup1 As DevExpress.XtraEditors.Repository.RepositoryItemRadioGroup + Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup + Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem End Class diff --git a/GUIs.ZooFlow/frmSearchStart.resx b/GUIs.ZooFlow/frmSearchStart.resx index 2dbd68ce..67d43f14 100644 --- a/GUIs.ZooFlow/frmSearchStart.resx +++ b/GUIs.ZooFlow/frmSearchStart.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u @@ -128,7 +128,7 @@ gg== - + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAbdEVYdFRpdGxlAEFkZDtQbHVzO0JhcnM7UmliYm9u @@ -159,6 +159,29 @@ 2gHynnsAeHXAjXsjyEzETXjvAK5/ks3Hfx3AHoeVs+Eg10eROby80GMVarYXWIjro0BKnlojzC/UX6IX WIDro8gcXniwGJi/sfYCa3J9FJnDCw8WA/ODXmANro8ic3jhwWKPLz9AuHNvBJnBCweWedRML8DgbmYP +EFjL7MH3IU//w3eYeqAWVTc3nMOAJCP4Apm8Rb5LOUXGwfo+ilQ1NwAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAJXRFWHRUaXRsZQBDbGVhcjtF + cmFzZTtSZW1vdmU7QmFycztSaWJib247h4CDcwAAAKVJREFUOE+lzMENwjAMQNHOhDhmAA5swB2uTICE + xIkNGIAJWIOdzHcUV4ljQoHDq1rX35OI/CUceimlrYr+dQOvxLeiO9J8eC42u3qnCWosRvEdgpPtdaFi + YRSbfOTXWJ27AwxXOGJR3BxgqPG+sCPDeD7AsI7NFcM4H2AYxRc88cDb2A6sEcVGj4Sxyg8W7IiP1cFH + tfmFxY0LP8YqHH4jHC4n0wurkEbWwnScwwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAJXRFWHRUaXRsZQBDbGVhcjtF + cmFzZTtSZW1vdmU7QmFycztSaWJib247h4CDcwAAAT9JREFUWEfFjsFNAzEURFNHykC5ZQ8UQB3hSgVI + SJzoIAVQAW2kJ2cG7Y/s7/Fie3fN4UXrif68OYQQ/hUZjkSGI5HhGqZpeiHqP4UMe5nl15mqETLswcmr + R8iwFYqcOGZxhAxboMAJFcURMqyFxU5U4hu8q44sqAWFLfIwk41IHrWgqEcuRyTFNaBgjdx4tr5MsAQO + t5B/xJ2JYAkcbi4nyaMEDs9AyTxNcpIFHhw+gQt4A0pqNMuJDA0cmtwojeiSExkSHHp5aUS3nMgQhyW5 + YSNWyUkW4PAvufEFlJhUyUnywGGt/BPcwA/olpPHBw5b5UY8oklOfn9weARK5vHyeESznDw+UHACSmqU + 5OQ1Lm0heaCoNGIXOckCFPoRu8mJDFFsI3aVExkSCDhCickmciLDkchwJDIciQzHEQ53bCSwNhgc18QA + AAAASUVORK5CYII= @@ -183,54 +206,6 @@ 8YnPLCY/iqK+gPrcbj2kLlEwyaMkpoVRcdjv81c/nztmfOg4cv3abj2kLlEwyROy+KMJJyJinjLQ3+pL RqEM+GeZ1CUKJnnULVY/z/e93XpIXaJgkkctVO94UMX/IHWJgskgInWJgskgInWJ4kFHVz64YMhfkU05 On2zdlYAAAAASUVORK5CYII= - - - - - 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 diff --git a/GUIs.ZooFlow/frmSearchStart.vb b/GUIs.ZooFlow/frmSearchStart.vb index c7e72b9b..e2fe6ba9 100644 --- a/GUIs.ZooFlow/frmSearchStart.vb +++ b/GUIs.ZooFlow/frmSearchStart.vb @@ -1,13 +1,19 @@ Imports DigitalData.Modules.Logging Imports DevExpress.XtraTab +Imports DevExpress.XtraGrid +Imports DevExpress.XtraGrid.Views.Grid +Imports DevExpress.XtraEditors + Public Class frmSearchStart Private Logger As Logger Private DTSearchProfiles As DataTable Private TabSelected As XtraTabPage Private PSEARCH_ID As Integer = 0 - Public FormLoaded As Boolean = False + Public FormShown As Boolean = False Private Const DEFAULT_X As Integer = 10 Private Const DEFAULT_Y As Integer = 10 + Private DTSearchTerms As DataTable + Private SEARCH_COUNT As Integer = 0 Public Sub New(pDTSearchProfiles As DataTable) ' Dieser Aufruf ist für den Designer erforderlich. @@ -16,11 +22,28 @@ Public Class frmSearchStart ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. DTSearchProfiles = pDTSearchProfiles Logger = My.LogConfig.GetLogger() - End Sub + Dim oSearchTerms As New DataTable + + ' Create four typed columns in the DataTable. + oSearchTerms.Columns.Add("AttrID", GetType(Integer)) + oSearchTerms.Columns.Add("AttrTitle", GetType(String)) + oSearchTerms.Columns.Add("Criteria", GetType(String)) + oSearchTerms.Columns.Add("SearchTerm", GetType(String)) + DTSearchTerms = oSearchTerms - Private Sub WindowsUIButtonPanel1_Click(sender As Object, e As EventArgs) Handles WindowsUIButtonPanel1.Click End Sub + Public Sub AddSearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=") + DTSearchTerms.Rows.Add(pAttrID, pAttrTitle, pCriteria, pSearchTerm) + DTSearchTerms.AcceptChanges() + + End Sub + Public Sub SearchAttribute(pAttrID As String, pAttrTitle As String, pSearchTerm As String, Optional pCriteria As String = "=") + DTSearchTerms.Rows.Add(pAttrID, pAttrTitle, pCriteria, pSearchTerm) + DTSearchTerms.AcceptChanges() + + End Sub + Private Sub frmSearchStart_Load(sender As Object, e As EventArgs) Handles Me.Load Try @@ -42,13 +65,14 @@ Public Class frmSearchStart PSEARCH_ID = DTSearchProfiles.Rows(0).Item("SEARCH_PROFILE_ID") TabSelected.Text = DTSearchProfiles.Rows(0).Item("TITLE") Load_Search_Attributes() + BarButtonItemNewSearch.Visibility = DevExpress.XtraBars.BarItemVisibility.Never End If - + SEARCH_COUNT = DTSearchProfiles.Rows.Count Catch ex As Exception Logger.Error(ex.Message) MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error while loading ProfileSearches:") End Try - FormLoaded = True + End Sub Sub Load_Search_Attributes() Dim oSQL = $"SELECT * FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = {PSEARCH_ID} ORDER BY [SEQUENCE]" @@ -60,7 +84,8 @@ Public Class frmSearchStart Dim oControlRow As Integer = 0 Dim oControls As New ClassControlCreator(TabSelected, Me) For Each oAttributeRow As DataRow In oDT.Rows - Dim oAttriName As String = oAttributeRow.Item("ATTRIBUTE_TITLE").ToString + Dim oSingleResult As Boolean = False + Dim oAttriTitle As String = oAttributeRow.Item("ATTRIBUTE_TITLE").ToString Dim oAttriID As String = oAttributeRow.Item("ATTRIBUTE_ID").ToString Dim oAttriTYPE As String = oAttributeRow.Item("ATTRIBUTE_TYPE").ToString If oControlCount = 1 Or oControlCount = 3 Or oControlCount = 5 Then @@ -69,7 +94,7 @@ Public Class frmSearchStart End If Select Case oControlCount Case 2 - oXPosition = oXPosition + 150 + 20 + oXPosition = oXPosition + 150 + 15 End Select Select Case oControlRow Case 1 @@ -85,21 +110,32 @@ Public Class frmSearchStart End Select - addLabel(oAttriName, oXPosition, oYPosition) - + addLabel(oAttriTitle, oXPosition, oYPosition) Dim oMyControl As Control Select Case oAttriTYPE Case "VARCHAR" - oMyControl = oControls.CreateExistingGridControl(oAttributeRow, oXPosition, oYPosition + 25) + oMyControl = oControls.CreateExistingGridControl(oAttributeRow, oXPosition, oYPosition + 20) + Dim myDGV As GridControl = CType(oMyControl, GridControl) + Dim omyDTSource As DataTable = CType(myDGV.DataSource, DataTable) + Dim oView As DevExpress.XtraGrid.Views.Grid.GridView + oView = CType(myDGV.MainView, GridView) + AddHandler oView.FocusedRowChanged, AddressOf FocusedRowChanged + If omyDTSource.Rows.Count = 1 Then + oSingleResult = True + AddSearchAttribute(oAttriID, oAttriTitle, omyDTSource.Rows(0).Item(oAttriTitle).ToString) + End If Case "DATE" + oMyControl = oControls.CreateExistingDatepicker(oAttributeRow, oXPosition, oYPosition + 20) + Dim myDTP As DateEdit = CType(oMyControl, DateEdit) + AddHandler myDTP.DisableCalendarDate, AddressOf DisableCalendarDate End Select + oControlCount += 1 TabSelected.Controls.Add(oMyControl) - oControlCount += 1 Next End Sub Sub addLabel(pAttrName As String, pXPos As Integer, ylbl As Integer) @@ -115,11 +151,81 @@ Public Class frmSearchStart Private Sub WindowsUIButtonPanel1_ButtonClick(sender As Object, e As DevExpress.XtraBars.Docking2010.ButtonEventArgs) Handles WindowsUIButtonPanel1.ButtonClick Select Case e.Button.Properties.Tag.ToString Case "Run" - MsgBox("Start Search") + RunSearch() End Select End Sub + Private Sub RunSearch() + Try + For Each oSearchTerm As DataRow In DTSearchTerms.Rows + Next + Catch ex As Exception + MsgBox("Unexpected Error in Clearing Search Items: " & ex.Message, MsgBoxStyle.Critical) + Logger.Error(ex) + End Try + End Sub Private Sub XtraTabControl1_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControl1.SelectedPageChanged TabSelected = XtraTabControl1.SelectedTabPage End Sub + Private Sub FocusedRowChanged(sender As Object, e As Views.Base.FocusedRowChangedEventArgs) + If FormShown = False Then Exit Sub + Dim oCurrentView As GridView = DirectCast(sender, GridView) + Dim oCurrentControl As GridControl = oCurrentView.GridControl + + Dim rowView As DataRowView = CType(oCurrentView.GetFocusedRow(), DataRowView) + + If IsNothing(rowView) = False Then + Dim oResult As String = CType(rowView.Item(0), String) + Dim oAttrID = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrID + Dim oAttrTitle = DirectCast(oCurrentControl.Tag, ClassControlCreator.ControlMetadata).AttrTitle + AddSearchAttribute(oAttrID, oAttrTitle, oResult) + + ' Return oResult + 'Else : Return Nothing + End If + + End Sub + + Private Sub frmSearchStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown + FormShown = True + End Sub + + Private Sub DisableCalendarDate(sender As Object, e As DevExpress.XtraEditors.Calendar.DisableCalendarDateEventArgs) + Dim oDateEdit As DateEdit = DirectCast(sender, DateEdit) + Dim oDTSource As DataTable = DirectCast(oDateEdit.Tag, ClassControlCreator.ControlMetadata).DTSource + If Not IsNothing(oDTSource) Then + If IsValidDate(oDTSource, e.Date) = False Then + e.IsDisabled = True + End If + End If + + + 'If (e.Date.DayOfWeek = DayOfWeek.Wednesday) Then + ' e.IsDisabled = True + 'End If + End Sub + + Public Function IsValidDate(pCheckDT As DataTable, pDate2Check As Date) As Boolean + Dim oIsValid As Boolean = False + For Each oDateRow As DataRow In pCheckDT.Rows + If CDate(oDateRow.Item(0)) = pDate2Check Then + oIsValid = True + End If + Next + Return oIsValid + End Function + + Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick + Try + DTSearchTerms.Clear() + Catch ex As Exception + MsgBox("Unexpected Error in Clearing Search Items: " & ex.Message, MsgBoxStyle.Critical) + End Try + For Each oControl As Control In TabSelected.Controls + Select Case oControl.GetType.ToString + Case "" + End Select + Next + End Sub + End Class \ No newline at end of file diff --git a/Modules.Database/MSSQLServer.vb b/Modules.Database/MSSQLServer.vb index bac65be8..93edde1a 100644 --- a/Modules.Database/MSSQLServer.vb +++ b/Modules.Database/MSSQLServer.vb @@ -122,9 +122,7 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("GetDatatable failed with:") - _Logger.Warn("SQL Query: {0}", SqlCommand) + _Logger.Warn($"GetDatatable failed SQLCommand [{SqlCommand}] - ERROR: {ex.Message}") Return Nothing End Try End Function @@ -153,10 +151,8 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("GetDatatableWithConnection failed with:") - _Logger.Warn("ConnectionString: ") - _Logger.Warn("SQL Query: {0}", SqlCommand) + _Logger.Warn($"GetDatatableWithConnection failed SQLCommand [{SqlCommand}] - ERROR: {ex.Message}") + Return Nothing End Try End Function @@ -178,9 +174,8 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("ExecuteNonQuery failed:") - _Logger.Warn("SQL Query: " & SQLCommand) + _Logger.Warn($"ExecuteNonQuery failed SQLCommand [{SQLCommand}] - ERROR: {ex.Message}") + Return False End Try End Function @@ -202,7 +197,8 @@ Public Class MSSQLServer SQLconnect.Close() Return True Catch ex As Exception - _Logger.Warn($"Unexpected Error in Execute_non_Query_ConStr{pInfo}: {ex.Message} [{pSQLCommand}]") + _Logger.Warn($"ExecuteNonQueryCS failed SQLCommand [{pSQLCommand}] - ERROR: {ex.Message}") + Return False End Try End Function @@ -228,8 +224,8 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("SQLQuery: " & SQLCommand) + _Logger.Warn($"GetScalarValue failed SQLCommand [{SQLCommand}] - ERROR: {ex.Message}") + Return Nothing End Try End Function @@ -255,8 +251,7 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("SQLQuery: " & SQLCommand) + _Logger.Warn($"GetScalarValueWithConnection failed SQLCommand [{SQLCommand}] - ERROR: {ex.Message}") Return Nothing End Try End Function @@ -286,8 +281,8 @@ Public Class MSSQLServer Return SQLCommand.Parameters(OutputParameter).Value End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("SQLQuery: " & SQLCommand.CommandText) + _Logger.Warn($"GetScalarValue failed SQLCommand [{SQLCommand}] - ERROR: {ex.Message}") + Return Nothing End Try End Function @@ -310,7 +305,7 @@ Public Class MSSQLServer SQLconnect.Close() Return result Catch ex As Exception - _Logger.Warn($"Unexpected Error in Execute_Scalar_ConStr{pInfo}: {ex.Message} [{pSQLCommand}]") + _Logger.Warn($"GetScalarValueConStr failed SQLCommand [{pSQLCommand}] - ERROR: {ex.Message}") Return Nothing End Try End Function @@ -343,8 +338,8 @@ Public Class MSSQLServer End Using End Using Catch ex As Exception - _Logger.Error(ex) - _Logger.Warn("executeStatement: " & SqlCommand) + _Logger.Warn($"NewExecuteNonQueryAsync failed SQLCommand [{SqlCommand}] - ERROR: {ex.Message}") + End Try End Sub diff --git a/Modules.Database/My Project/AssemblyInfo.vb b/Modules.Database/My Project/AssemblyInfo.vb index b393fccb..78e7c84a 100644 --- a/Modules.Database/My Project/AssemblyInfo.vb +++ b/Modules.Database/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + +