Prevent tables grid from losing columns
This commit is contained in:
@@ -129,9 +129,11 @@
|
||||
cellIndex[(cell.RollBand, cell.GroupKey, cell.ColumnKey)] = cell;
|
||||
}
|
||||
|
||||
var columnsToDisplay = ResolveVisibleColumns();
|
||||
|
||||
if (Detail.Groups.Count == 0)
|
||||
{
|
||||
foreach (var column in Detail.Columns.Where(MatchesColumnFilter))
|
||||
foreach (var column in columnsToDisplay)
|
||||
{
|
||||
visibleColumns.Add(column);
|
||||
displayColumns.Add((null, column.Key, column.Label));
|
||||
@@ -139,12 +141,14 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var group in Detail.Groups.Where(MatchesGroupFilter))
|
||||
var groupsToDisplay = ResolveVisibleGroups();
|
||||
|
||||
foreach (var group in groupsToDisplay)
|
||||
{
|
||||
visibleGroups.Add(group);
|
||||
}
|
||||
|
||||
foreach (var column in Detail.Columns.Where(MatchesColumnFilter))
|
||||
foreach (var column in columnsToDisplay)
|
||||
{
|
||||
visibleColumns.Add(column);
|
||||
}
|
||||
@@ -173,6 +177,28 @@
|
||||
string.IsNullOrWhiteSpace(SelectedColumnKey)
|
||||
|| string.Equals(column.Key, SelectedColumnKey, StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
private IReadOnlyList<CriticalGroupReference> ResolveVisibleGroups()
|
||||
{
|
||||
var filteredGroups = Detail.Groups
|
||||
.Where(MatchesGroupFilter)
|
||||
.ToList();
|
||||
|
||||
return filteredGroups.Count > 0
|
||||
? filteredGroups
|
||||
: Detail.Groups;
|
||||
}
|
||||
|
||||
private IReadOnlyList<CriticalColumnReference> ResolveVisibleColumns()
|
||||
{
|
||||
var filteredColumns = Detail.Columns
|
||||
.Where(MatchesColumnFilter)
|
||||
.ToList();
|
||||
|
||||
return filteredColumns.Count > 0
|
||||
? filteredColumns
|
||||
: Detail.Columns;
|
||||
}
|
||||
|
||||
private bool MatchesModeFilter(CriticalTableCellDetail cell) =>
|
||||
CurrentMode switch
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user