none
Combobox Wert (SelectedItem) weiterverarbeiten (GUI) RRS feed

  • 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 ? 



    Dienstag, 31. März 2015 14:32

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.



    Dienstag, 31. März 2015 17:43
    Moderator

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.



    Dienstag, 31. März 2015 17:43
    Moderator
  • Moin Denniver,

    vielen Dank für Deine Hilfe, dies genau war es, was ich zu meinem

    Glück noch brauchte ;). Und das schöne daran, man kann es immer

    wieder so verwenden.

    Danke und Gruß Joerg

    Mittwoch, 1. April 2015 08:31
  • 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.

    Mittwoch, 1. April 2015 11:43
    Moderator