CUST: - Builder: - select all Cordonels and 'Factory Resets'on dataGrid header click

This commit is contained in:
Thomas Wiedebusch 2025-12-09 15:52:44 +01:00
parent 30f3f61376
commit 9db3c500ac
4 changed files with 1896 additions and 967 deletions

View File

@ -1,11 +1,15 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteSmartCompletion/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutopopupEnabled/AutopopupEnabled/@EntryValue">False</s:Boolean>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PCB/@EntryIndexedValue">PCB</s:String>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/EnableGotoEverything/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/FuzzySearchInGotoText/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleHierarchyItemImmediately/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleUsageImmediately/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoTextInGotoEverything/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/EnableGotoEverything/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/FuzzySearchInGotoText/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleHierarchyItemImmediately/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleUsageImmediately/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoTextInGotoEverything/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/NavigateByControlClick/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/SaveExtendedSearch/@EntryValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/UserInterface/OpenReSharperMenuByAltR/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/GrammarAndSpelling/GrammarChecking/Exceptions/=LCD_0020DISPLAY/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Housekeeping/VsActionManager/IsShortcutBrowserEnabled/@EntryValue">False</s:Boolean>

View File

@ -414,6 +414,7 @@
this.gridViewCordonelSelection.Name = "gridViewCordonelSelection";
this.gridViewCordonelSelection.ReadOnly = true;
this.gridViewCordonelSelection.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.gridViewCordonelsSelection_CellClick);
this.gridViewCordonelSelection.ColumnHeaderMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.gridViewCordonelSelection_ColumnHeaderMouseClick);
//
// tblPanelCordonelSearch
//

View File

@ -767,7 +767,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
SetStatusProgressBar();
_dbAccessDelayCtrMs = 0;
_processState = ProcessState.GetCordonelProductionOrdersFromDb;
}
if (e.TabPage == tabPageCustomerSelection)
@ -1041,7 +1040,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
_logger.Info(StrSeparator);
InitializeComponent();
if (_cultureInfo.IetfLanguageTag.Contains("de-"))
radioBtnGermanLanguage.Checked = true;
else
@ -1341,7 +1340,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
if (_fwUpdateCapability.All(x => x.ReleaseContainerLoaded == false) ||
_fwUpdateCapability.Any(x => x.RecoveryNotNeededOrLoaded == false) ||
_fwUpdateCapability.Any(x => x.PowerCorrectionNotNeededOrLoaded == false) ||
_fwUpdateCapability.Any(x => x.PasswordContainerLoaded == false) )
_fwUpdateCapability.Any(x => x.PasswordContainerLoaded == false))
{
_processState = ProcessState.Error;
return false;
@ -2450,8 +2449,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
value = 100;
if (value < 0)
value = 0;
ProgressBarStatus.Visible = visible;
ProgressBarStatus.Value = value;
ProgressBarStatus.Visible = visible;
ProgressBarStatus.Value = value;
}
catch (Exception)
{
@ -4011,7 +4010,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
}
// select register restore
// select factory reset
if (gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableRegisterRestoreSelect)
{
// Search the cordonel in the production search list
@ -4114,14 +4113,14 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.CoreRevision) &&
cordSearch.CoreRevision != Constants.StrUnknown &&
_coreSearchItems.All( x => x != cordSearch.CoreRevision))
_coreSearchItems.All(x => x != cordSearch.CoreRevision))
{
_coreSearchItems.Add(cordSearch.CoreRevision);
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.Metrology) &&
cordSearch.Metrology != Constants.StrUnknown &&
cordSearch.Metrology != Constants.StrUnknown &&
_metrologySearchItems.All(x => x != cordSearch.Metrology))
{
_metrologySearchItems.Add(cordSearch.Metrology);
@ -4157,6 +4156,38 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
_processState = ProcessState.Error;
}
}
/// <summary>
/// Overwrite header cell click to to toggle all Cordonel selections
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <remarks date="2025-Dec-09" author="Thomas Wiedebusch">
/// - Initial.
/// </remarks>
private void gridViewCordonelSelection_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
try
{
var cordSearchCtr = 0;
// Toggle all factory resets for every Cordonel
if (gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableRegisterRestoreSelect ||
gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableSelect)
{
// Search the cordonel in the production search list
foreach (var cordSearch in _cordonelProductionSearchInfos)
{
var cellEventArgs = new DataGridViewCellEventArgs(e.ColumnIndex, cordSearchCtr);
gridViewCordonelsSelection_CellClick(this, cellEventArgs);
cordSearchCtr++;
Update();
}
}
}
catch (Exception)
{
_processState = ProcessState.Error;
}
}
/// <summary>
/// Build data grid for cordonels
@ -4185,6 +4216,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
/// <remarks date="2024-May-13" author="Thomas Wiedebusch">
/// - Disabled language selection, culture info fixed to english.
/// </remarks>
/// <remarks date="2024-May-13" author="Thomas Wiedebusch">
/// - Avoid sorting of 'selection' and 'factory reset' columns.
/// </remarks>
private void FillDataGridWithCordonelInfos()
{
grpLanguageSelection.Enabled = false;
@ -4264,7 +4298,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
foreach (DataGridViewColumn column in gridViewCordonelSelection.Columns)
{
column.SortMode = DataGridViewColumnSortMode.Automatic;
if (column.Name != Resources.StrTableRegisterRestoreSelect &&
column.Name != Resources.StrTableSelect)
column.SortMode = DataGridViewColumnSortMode.Automatic;
}
}
catch (Exception)