From bf076ad6c145224b7ffe50eec8803a5d8bce026c Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Thu, 15 Apr 2021 14:26:50 +0200 Subject: [PATCH] =?UTF-8?q?Stra=C3=9Fenliste=20versch=C3=B6nerung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Straßenliste im Ortsteilmodus wird geöffnet gelassen, wenn man die Objektliste schließt --- SanSystem/frmStrassenList.cs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/SanSystem/frmStrassenList.cs b/SanSystem/frmStrassenList.cs index bb7537a..18f4ceb 100644 --- a/SanSystem/frmStrassenList.cs +++ b/SanSystem/frmStrassenList.cs @@ -20,6 +20,7 @@ namespace SanSystem public partial class frmStrassenList : Form { StreetListSettings streetListSetting = new StreetListSettings(); + string aktuallStreetName = string.Empty; /// /// /// @@ -47,21 +48,36 @@ namespace SanSystem private void buildSortedSteetList() { List ortteile = Datenbank.Instance.loadedProjekt.Objekte.Select(x => x.OrtName).Distinct().ToList(); - foreach(string ort in ortteile) + int aktuellOpened = -1; + bool aktuelleStrasse = false; + foreach (string ort in ortteile) { List strassen = Datenbank.Instance.loadedProjekt.Objekte.Where(y => y.OrtName.Equals(ort)).Select(x => x.StrasseName).Distinct().ToList(); TreeNode[] streetnodes = new TreeNode[strassen.Count]; + for(int i = 0; i < strassen.Count; i++) { streetnodes[i] = new TreeNode(); Tuple x = getStatikFromStreet(strassen[i]); streetnodes[i].Text = string.Format("{0} ({1} / {2})", strassen[i], x.Item1, x.Item2); + if (strassen[i].Equals(aktuallStreetName)) + aktuelleStrasse = true; streetnodes[i].Tag = strassen[i]; } TreeNode node = new TreeNode(ort, streetnodes); - trv_street.Nodes.Add(node); + int looper = trv_street.Nodes.Add(node); + if(aktuelleStrasse) + { + aktuelleStrasse = false; + aktuellOpened = looper; + } } + if(aktuellOpened != -1) + { + trv_street.Nodes[aktuellOpened].ExpandAll(); + } + } private Tuple getStatikFromStreet(string strassename) @@ -151,7 +167,7 @@ namespace SanSystem if ((sender as TreeView).SelectedNode == null) return; string selectedStreetName = (string)(sender as TreeView).SelectedNode.Tag; if (selectedStreetName.Equals("")) return; - + aktuallStreetName = selectedStreetName; frmObjekteList frmObjekteList = new frmObjekteList(selectedStreetName); frmObjekteList.MdiParent = this.MdiParent; frmObjekteList.FormClosed += FrmObjekt_FormClosed;