diff --git a/app/TaskFlow/ControlCreator/GridControl.vb b/app/TaskFlow/ControlCreator/GridControl.vb index 88850d9..fc5a8f2 100644 --- a/app/TaskFlow/ControlCreator/GridControl.vb +++ b/app/TaskFlow/ControlCreator/GridControl.vb @@ -274,6 +274,8 @@ Namespace ControlCreator GridTables_ValidateColumn(pGridView, pColumnTable, oColumnName, e.Value, e.Valid, e.ErrorText) End Sub + AddHandler pGridView.PopupMenuShowing, AddressOf View_PopupMenuShowing + AddHandler pGridView.InvalidRowException, AddressOf View_InvalidRowException AddHandler pGridView.ValidatingEditor, AddressOf View_ValidatingEditor @@ -285,6 +287,43 @@ Namespace ControlCreator AddHandler pControl.LostFocus, AddressOf Control_LostFocus End Sub + Private Sub View_PopupMenuShowing(sender As Object, e As PopupMenuShowingEventArgs) + Dim view As GridView = TryCast(sender, GridView) + Dim oFocusedColumn As GridColumn = view.FocusedColumn + Dim oColumnType As Type = oFocusedColumn.ColumnType + Dim oColumnName As String = oFocusedColumn.FieldName + + If e.MenuType = GridMenuType.Column AndAlso oColumnType Is GetType(Boolean) Then + e.Menu.Items.Add(New Menu.DXMenuItem( + "Alle Zeilen anhaken", + Sub(_sender As Object, _e As EventArgs) + SetCellValuesForBooleanColumn(view, oColumnName, True) + End Sub, + My.Resources.itemtypechecked, + Menu.DXMenuItemPriority.Normal)) + + e.Menu.Items.Add(New Menu.DXMenuItem( + "Alle Zeilen abhaken", + Sub(_sender As Object, _e As EventArgs) + SetCellValuesForBooleanColumn(view, oColumnName, False) + End Sub, + My.Resources.itemtypechecked, + Menu.DXMenuItemPriority.Normal)) + End If + End Sub + + Private Sub SetCellValuesForBooleanColumn(pView As GridView, pColumnName As String, pValue As Boolean) + Dim oRowHandle = 0 + While (pView.IsValidRowHandle(oRowHandle)) + Dim oRow = pView.GetDataRow(oRowHandle) + Dim oValue = oRow.ItemEx(pColumnName, False) + oRow.Item(pColumnName) = pValue + + oRowHandle += 1 + End While + End Sub + + Private Sub Control_LostFocus(sender As DevExpress.XtraGrid.GridControl, e As EventArgs) Dim oView2 As GridView = sender.FocusedView diff --git a/app/TaskFlow/frmMain.Designer.vb b/app/TaskFlow/frmMain.Designer.vb index a7993d5..9b62166 100644 --- a/app/TaskFlow/frmMain.Designer.vb +++ b/app/TaskFlow/frmMain.Designer.vb @@ -188,6 +188,7 @@ Partial Class frmMain Me.TimerInactivity = New System.Windows.Forms.Timer(Me.components) Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem() + Me.BarButtonItem10 = New DevExpress.XtraBars.BarButtonItem() CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() CType(Me.GridControl_Docs, System.ComponentModel.ISupportInitialize).BeginInit() @@ -385,9 +386,9 @@ Partial Class frmMain 'RibbonControl1 ' Me.RibbonControl1.ExpandCollapseItem.Id = 0 - Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.bsiRowCount, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage}) + Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItem3, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.bsiRowCount, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage, Me.BarButtonItem10}) resources.ApplyResources(Me.RibbonControl1, "RibbonControl1") - Me.RibbonControl1.MaxItemId = 52 + Me.RibbonControl1.MaxItemId = 53 Me.RibbonControl1.Name = "RibbonControl1" Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen}) Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize}) @@ -1555,6 +1556,13 @@ Partial Class frmMain Me.BarButtonItem9.Name = "BarButtonItem9" Me.BarButtonItem9.Visibility = DevExpress.XtraBars.BarItemVisibility.Never ' + 'BarButtonItem10 + ' + resources.ApplyResources(Me.BarButtonItem10, "BarButtonItem10") + Me.BarButtonItem10.Id = 52 + Me.BarButtonItem10.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItem10.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.BarButtonItem10.Name = "BarButtonItem10" + ' 'frmMain ' Me.Appearance.Options.UseFont = True @@ -1758,4 +1766,5 @@ Partial Class frmMain Friend WithEvents BbtnitmAHWF4 As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonItem9 As DevExpress.XtraBars.BarButtonItem Friend WithEvents bbtnitmLanguage As DevExpress.XtraBars.BarButtonItem + Friend WithEvents BarButtonItem10 As DevExpress.XtraBars.BarButtonItem End Class diff --git a/app/TaskFlow/frmMain.resx b/app/TaskFlow/frmMain.resx index 3a77050..255bb07 100644 --- a/app/TaskFlow/frmMain.resx +++ b/app/TaskFlow/frmMain.resx @@ -125,7 +125,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADw - CAAAAk1TRnQBSQFMAgEBAgEAARgBCgEYAQoBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAASABCgEgAQoBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA @@ -1795,6 +1795,42 @@ MS4xLTAuNS0xLjgtMC41Yy0wLjgsMC0xLjQsMC4yLTEuOCwwLjdjLTAuNSwwLjUtMC43LDEuMS0wLjcs MS45YzAsMC44LDAuMiwxLjQsMC43LDEuOHMxLDAuNywxLjgsMC43ICBjMC43LDAsMS4zLTAuMiwxLjkt MC41VjExLjd6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L + + + + BarButtonItem10 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAPcFAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg + MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku + QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC + MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh + Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iSXRlbVR5cGVD + aGVja2VkIj4NCiAgICA8Zz4NCiAgICAgIDxnPg0KICAgICAgICA8cmVjdCB4PSIyMCIgeT0iOCIgd2lk + dGg9IjEwIiBoZWlnaHQ9IjQiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IkJsYWNrIiAvPg0KICAgICAgICA8 + cmVjdCB4PSIyMCIgeT0iMjIiIHdpZHRoPSIxMCIgaGVpZ2h0PSI0IiByeD0iMCIgcnk9IjAiIGNsYXNz + PSJCbGFjayIgLz4NCiAgICAgICAgPHBhdGggZD0iTTE1LDE4SDNjLTAuNSwwLTEsMC41LTEsMXYxMmMw + LDAuNSwwLjUsMSwxLDFoMTJjMC41LDAsMS0wLjUsMS0xVjE5QzE2LDE4LjUsMTUuNSwxOCwxNSwxOHog + TTE0LDMwSDRWMjAgICAgIGgxMFYzMHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICAgICAgPHBhdGggZD0i + TTE0LDEwLjhWMTRINFY0aDguMmwyLTJIM0MyLjUsMiwyLDIuNSwyLDN2MTJjMCwwLjUsMC41LDEsMSwx + aDEyYzAuNSwwLDEtMC41LDEtMVY4LjhMMTQsMTAuOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICAgIDwv + Zz4NCiAgICAgIDxnPg0KICAgICAgICA8cmVjdCB4PSIyMCIgeT0iOCIgd2lkdGg9IjEwIiBoZWlnaHQ9 + IjQiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IkJsYWNrIiAvPg0KICAgICAgICA8cmVjdCB4PSIyMCIgeT0i + MjIiIHdpZHRoPSIxMCIgaGVpZ2h0PSI0IiByeD0iMCIgcnk9IjAiIGNsYXNzPSJCbGFjayIgLz4NCiAg + ICAgICAgPHBhdGggZD0iTTE1LDE4SDNjLTAuNSwwLTEsMC41LTEsMXYxMmMwLDAuNSwwLjUsMSwxLDFo + MTJjMC41LDAsMS0wLjUsMS0xVjE5QzE2LDE4LjUsMTUuNSwxOCwxNSwxOHogTTE0LDMwSDRWMjAgICAg + IGgxMFYzMHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICAgICAgPHBhdGggZD0iTTE0LDEwLjhWMTRINFY0 + aDguMmwyLTJIM0MyLjUsMiwyLDIuNSwyLDN2MTJjMCwwLjUsMC41LDEsMSwxaDEyYzAuNSwwLDEtMC41 + LDEtMVY4LjhMMTQsMTAuOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQog + ICAgPHBvbHlnb24gcG9pbnRzPSI2LDUgNiw4IDEwLDEyIDE4LDQgMTgsMSAxMCw5ICAiIGNsYXNzPSJH + cmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== @@ -3049,6 +3085,12 @@ DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + + BarButtonItem10 + + + DevExpress.XtraBars.BarButtonItem, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a + frmMain