Sortiertung in der Vorlagenauswahl geändert (Erst Ordner, dann Vorlagen)

This commit is contained in:
2026-04-16 16:35:34 +02:00
parent 2ca2965a1f
commit 427b33c4e8
4 changed files with 54 additions and 7 deletions

View File

@@ -37,7 +37,7 @@ namespace BeWo.View.Document
view.InitView(tabelle, alleVorlagen, templateFolderList, null, true, false, "", defaultBerichte);
//view.InitView(tabelle, alleVorlagen, templateFolderList, null, true, false, "");
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Vorlage auswählen"), view, 500, 500);
var beWoWindow = BeWoWindowBuilder.GetBeWoWindow(Translator.Translate("Vorlage auswählen"), view, 500, 600);
view.ButtonCancelClicked += () => beWoWindow.Close();
view.ButtonCreateForSelectionClicked += () =>
@@ -104,6 +104,7 @@ namespace BeWo.View.Document
Node = rootNode
};
DocumentTreeItemVM vm = new DocumentTreeItemVM(dc);
vm.SortName = String.Format("0_{0}", dc.Name); //Für Sortieren. Die Ordner sollen oberhalb der Vorlagen einsortiert werden
rootNode.Content = vm;
rootNode.IsExpandButtonVisible = DefaultBoolean.True;
rootNode.IsExpanded = expandItems;
@@ -154,6 +155,7 @@ namespace BeWo.View.Document
BeWoFolderDC = new BeWoFolderDC { Name = "RootFolder", SubFolders = new List<BeWoFolderDC>() }
};
DocumentTreeItemVM vm = new DocumentTreeItemVM(dc);
vm.SortName = String.Format("0_{0}", dc.Name); //Für Sortieren. Die Ordner sollen oberhalb der Vorlagen einsortiert werden
node.Content = vm;
treeControl.View.Nodes.Add(node);
node.IsExpandButtonVisible = DefaultBoolean.True;
@@ -190,6 +192,7 @@ namespace BeWo.View.Document
};
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(dc);
folder_vm.SortName = String.Format("z_{0}", dc.Name); //Für Sortieren. Die Ordner sollen oberhalb der Vorlagen einsortiert werden
var newFolderNode = new TreeListNode()
{
Content = folder_vm,
@@ -313,6 +316,7 @@ namespace BeWo.View.Document
}
}
DocumentTreeItemVM folder_vm = new DocumentTreeItemVM(dc);
folder_vm.SortName = String.Format("0_{0}", dc.Name); //Für Sortieren. Die Ordner sollen oberhalb der Vorlagen einsortiert werden
var newFolderNode = new TreeListNode()
{
Content = folder_vm,

View File

@@ -31,9 +31,10 @@
<Label Margin="0,0,0,0" x:Name="lblTemplate" Content="Vorlage:"/>
<dxg:TreeListControl x:Name="treelistcontrol_template" Grid.Row="1" Grid.ColumnSpan="2" DefaultSorting="Name" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<dxg:TreeListControl x:Name="treelistcontrol_template" Grid.Row="1" Grid.ColumnSpan="2" Margin="5,0,5,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<dxg:TreeListControl.Columns>
<dxg:TreeListColumn FieldName="Name" AllowSorting="True" CellToolTipBinding="{Binding Description}"/>
<dxg:TreeListColumn FieldName="Name" CellToolTipBinding="{Binding Description}"/>
<dxg:TreeListColumn FieldName="SortName" AllowSorting="True" SortIndex="0" SortOrder="Ascending" Visible="False"/>
</dxg:TreeListControl.Columns>
<dxg:TreeListControl.View>
<dxg:TreeListView x:Name="TreeView_template" ShowColumnHeaders="False" ShowIndicator="False" ShowHorizontalLines="False" ShowVerticalLines="False" AutoWidth="True"
@@ -59,8 +60,15 @@
</dxg:TreeListView>
</dxg:TreeListControl.View>
</dxg:TreeListControl>
<WrapPanel Grid.Row="5" Grid.ColumnSpan="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 5 5 5">
<WrapPanel Grid.Row="5" Grid.ColumnSpan="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="0 5 5 5">
<Button Margin="10 0 0 0"
Name="button_aufklappenAllGoals" Click="button_aufklappenAll_Click"
HorizontalAlignment="Left">Alle aufklappen</Button>
<Button Margin="5 0 0 0"
Name="button_zuklappenAllGoals" Click="button_zuklappenAll_Click"
HorizontalAlignment="Left">Alle zuklappen</Button>
</WrapPanel>
<WrapPanel Grid.Row="5" Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0 5 5 5">
<Button x:Name="Button_SelectTemplate" Content="Dokument erstellen" Margin="0 0 5 0" Click="Button_CreateTemplateForSelection_Click" />
<Button x:Name="Button_SelectFolder" Content="Dokument speichern" Margin="0 0 5 0" Click="Button_SelectFolder_Click" />
<Button x:Name="Button_Cancel_OnlyOne" Content="Abbrechen" Click="Button_Cancel_Click" />

View File

@@ -181,8 +181,36 @@ namespace BeWo.View.Document
private void TreeView_template_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
OpenSelectedTemplate();
var hitInfo = TreeView_template.CalcHitInfo(e.OriginalSource as DependencyObject);
if (hitInfo.InRowCell)
{
e.Handled = true;
OpenSelectedTemplate();
}
}
private void button_aufklappenAll_Click(object sender, RoutedEventArgs e)
{
ExpandAllTreeItems(TreeView_template.Nodes, true);
}
private void button_zuklappenAll_Click(object sender, RoutedEventArgs e)
{
ExpandAllTreeItems(TreeView_template.Nodes, false);
}
private void ExpandAllTreeItems(TreeListNodeCollection nodes, bool expanded)
{
foreach (var node in nodes)
{
node.IsExpanded = expanded;
ExpandAllTreeItems(node.Nodes, expanded);
}
//TreeView_template.items
}
}
}

View File

@@ -14,6 +14,7 @@ namespace BeWo.ViewModel
private long? _DocTreeItemOid;
private long? _ParentOid;
private string _Name;
private string _SortName;
private string _Tooltip;
public DocumentTreeItemVM(DocumentTreeItemDC dc) : base(dc, dc.DocTreeItemOid == null)
@@ -54,6 +55,12 @@ namespace BeWo.ViewModel
}
}
public string SortName
{
get { return _SortName ?? _Name; }
set { _SortName = value; }
}
public string Description
{
get