Benutzer mit den meisten Antworten
Combobox Wert (SelectedItem) weiterverarbeiten (GUI)

Frage
-
Ich möchte Ordnerstrukturen auslesen und diese in ein Array schreiben, da sich diese
auf verschiedenen Laufwerken befinden. Dies funktioniert auch recht gut. Diese werden auch
in der Combox angezeigt, allerdings als kompletter Pfad, was für die Weiterverarbeitung auch
benötigt wird. Jedoch möchte ich nur die Ordnernamen angezeigt bekommen, wobei ein Ordner
ausgewählt wird und ich mit dem kompletten Pfad weiterarbeiten kann.
Also mit $Ordner.items.add($Dir.Fullname) bekomme ich den kompletten Ordnerpfad angezeigt,
welcher gut für das Weiterverarbeiten ist, jedoch so nicht in der Combox erscheinen soll.
Mit $Ordner.items.add($Dir.Name) bekomme ich zwar die Ordner angezeigt, jedoch kann ich
nur mit dem Ordnernamen nicht weiterarbeiten (SelectedItem), es sei denn, ich lasse danach den
Ordner wieder suchen um den Pfad zu bekommen, was relativ ungünstig ist, da der Pfad ja schon
vorhanden ist.
Ist es also möglich, nur den Ordnernamen anzeigen zu lassen und mit den kompletten Pfad weiterarbeiten
zu können ?
Antworten
-
HI,
eine Möglichkeit ist alle Ordner zuvor in ein Array zu packen und nach dem selektieren des Namens in der Combobox, filterst du einfach das Array nach dem gerade selektierten Eintrag. Also du suchst den Eintrag (das Fileobjekt) das den gleichen Text unter ".Name" stehen hat, wie der der gerade in der Combobox selektiert ist.
Von diesem gefilterten Eintrag nimmst du dann wieder .Fullpath.
Ist als Code einfacher als die Erklärung. :) Also so:
$folders = gci D:\tmp | ? { $_.PSIsContainer } # Nach der Selektion in der Combobox: $myfullpath = ($folders | ? { $_.Name -eq $mycombobox.selecteditem.ToString() }).fullname
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Kostenloser Powershell Snippet Manager v3: Link
(Schneller, besser + einfacher scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.
- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 31. März 2015 17:46
- Als Antwort markiert coraxx Mittwoch, 1. April 2015 16:59
Alle Antworten
-
HI,
eine Möglichkeit ist alle Ordner zuvor in ein Array zu packen und nach dem selektieren des Namens in der Combobox, filterst du einfach das Array nach dem gerade selektierten Eintrag. Also du suchst den Eintrag (das Fileobjekt) das den gleichen Text unter ".Name" stehen hat, wie der der gerade in der Combobox selektiert ist.
Von diesem gefilterten Eintrag nimmst du dann wieder .Fullpath.
Ist als Code einfacher als die Erklärung. :) Also so:
$folders = gci D:\tmp | ? { $_.PSIsContainer } # Nach der Selektion in der Combobox: $myfullpath = ($folders | ? { $_.Name -eq $mycombobox.selecteditem.ToString() }).fullname
Grüße, Denniver
Blog: http://bytecookie.wordpress.com
Kostenloser Powershell Snippet Manager v3: Link
(Schneller, besser + einfacher scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.
- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 31. März 2015 17:46
- Als Antwort markiert coraxx Mittwoch, 1. April 2015 16:59
-
Freut mich, dann markier doch bitte noch die Antwort.
Grüße, D.
Blog: http://bytecookie.wordpress.com
Kostenloser Powershell Snippet Manager v3: Link
(Schneller, besser + einfacher scripten.)
Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
Warum das Ganze? Hier gibts die Antwort.