Sdílet prostřednictvím


Vytvoření zobrazení seznamu

Zobrazení seznamu zobrazuje data v jednom sloupci (v sekvenčním pořadí). Data zobrazená v seznamu můžou být hodnota vlastnosti .NET nebo hodnoty skriptu.

Zobrazení seznamu

Následující výstup ukazuje, jak Windows PowerShell zobrazuje vlastnosti System.ServiceProcess.ServiceController objekty vrácené rutinou Get-Service. V tomto příkladu byly vráceny tři objekty, přičemž každý objekt je oddělený od předchozího objektu prázdným řádkem.

Get-Service | Format-List
Name                : AEADIFilters
DisplayName         : Andrea ADI Filters Service
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32OwnProcess

Name                : AeLookupSvc
DisplayName         : Application Experience
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32ShareProcess

Name                : AgereModemAudio
DisplayName         : Agere Modem Call Progress Audio
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32OwnProcess
...

Definování zobrazení seznamu

Následující XML ukazuje schéma zobrazení seznamu pro zobrazení několika vlastností System.ServiceProcess.ServiceController objektu. Musíte zadat každou vlastnost, kterou chcete zobrazit v zobrazení seznamu.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.ServiceProcess.ServiceController</TypeName>
  </ViewSelectedBy>
  <ListControl>
    <ListEntries>
      <ListEntry>
        <ListItems>
          <ListItem>
            <PropertyName>Name</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>DisplayName</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>Status</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>ServiceType</PropertyName>
          </ListItem>
        </ListItems>
      </ListEntry>
    </ListEntries>
  </ListControl>
</View>

K definování zobrazení seznamu se používají následující elementy XML:

  • Element View je nadřazený prvek zobrazení seznamu. (Toto je stejný nadřazený prvek pro zobrazení tabulek, širokých a vlastních ovládacích prvků.)

  • Element Name určuje název zobrazení. Tento prvek je vyžadován pro všechna zobrazení.

  • Element ViewSelectedBy definuje objekty, které používají zobrazení. Tento prvek je povinný.

  • Element GroupBy definuje, kdy se zobrazí nová skupina objektů. Nová skupina se spustí vždy, když se změní hodnota konkrétní vlastnosti nebo skriptu. Tento element je volitelný.

  • Element Controls definuje vlastní ovládací prvky definované zobrazením seznamu. Ovládací prvky poskytují způsob, jak dále určit způsob zobrazení dat. Tento element je volitelný. Zobrazení může definovat vlastní ovládací prvky nebo může používat běžné ovládací prvky, které lze použít v libovolném zobrazení v souboru formátování. Další informace o vlastních ovládacích prvcích naleznete v tématu Vytváření vlastních ovládacích prvků.

  • Element ListControl definuje, co se zobrazí v zobrazení a jak je formátován. Podobně jako u všech ostatních zobrazení může zobrazení seznamu zobrazit hodnoty vlastností objektu nebo hodnot vygenerovaných skriptem.

Příklad kompletního formátovacího souboru, který definuje jednoduché zobrazení seznamu, najdete v tématu Zobrazení seznamu (Základní).

Poskytování definic pro zobrazení seznamu

Zobrazení seznamu mohou poskytovat jednu nebo více definic pomocí podřízených elementů ListControl elementu. Zobrazení obvykle bude mít pouze jednu definici. V následujícím příkladu zobrazení poskytuje jednu definici, která zobrazuje několik vlastností System.Diagnostics.Process objektu. Zobrazení seznamu může zobrazit hodnotu vlastnosti nebo hodnoty skriptu (není znázorněno v příkladu).

<ListControl>
    <ListEntries>
      <ListEntry>
        <ListItems>
          <ListItem>
            <PropertyName>Name</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>DisplayName</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>Status</PropertyName>
          </ListItem>
          <ListItem>
            <PropertyName>ServiceType</PropertyName>
          </ListItem>
        </ListItems>
      </ListEntry>
    </ListEntries>
  </ListControl>

Následující elementy XML lze použít k zadání definic pro zobrazení seznamu:

  • Element ListControl a jeho podřízené prvky definují, co se zobrazí v zobrazení.

  • Element ListEntries poskytuje definice zobrazení. Ve většině případů bude mít zobrazení jenom jednu definici. Tento prvek je povinný.

  • Element ListEntry poskytuje definici zobrazení. Vyžaduje se alespoň jeden ListEntry; Neexistuje však žádný maximální limit počtu prvků, které můžete přidat. Ve většině případů bude mít zobrazení jenom jednu definici.

  • Element EntrySelectedBy určuje objekty, které jsou zobrazeny konkrétní definicí. Tento prvek je nepovinný a je nutný pouze v případě, že definujete více ListEntry elementy, které zobrazují různé objekty.

  • Element ListItems určuje vlastnosti a skripty, jejichž hodnoty jsou zobrazeny v řádcích zobrazení seznamu.

  • Element ListItem určuje vlastnost nebo skript, jehož hodnota se zobrazí v řádku zobrazení seznamu. Zobrazení seznamu musí obsahovat alespoň jednu vlastnost nebo skript. Počet řádků, které je možné zadat, není nijak omezen.

  • PropertyName element určuje vlastnost, jejíž hodnota je zobrazena v řádku. Musíte zadat buď vlastnost, nebo skript, ale nemůžete zadat obojí.

  • Element ScriptBlock určuje skript, jehož hodnota se zobrazí v řádku. Musíte zadat buď skript, nebo vlastnost, ale nemůžete zadat obojí.

  • Prvek Popisek určuje popisek, který se zobrazí vlevo od vlastnosti nebo hodnoty skriptu v řádku. Tento element je volitelný. Pokud popisek není zadaný, zobrazí se název vlastnosti nebo skript. Úplný příklad najdete v tématu Zobrazení seznamu (popisky).

  • Element ItemSelectionCondition určuje podmínku, která musí existovat pro zobrazení řádku. Další informace o přidávání podmínek do zobrazení seznamu naleznete v tématu Definování podmínek pro zobrazení dat. Tento element je volitelný.

  • FormatString element určuje vzor, který se používá k zobrazení hodnoty vlastnosti nebo skriptu. Tento element je volitelný.

Příklad kompletního formátovacího souboru, který definuje jednoduché zobrazení seznamu, najdete v tématu Zobrazení seznamu (Základní).

Definování objektů, které používají zobrazení seznamu

Existují dva způsoby, jak definovat, které objekty .NET používají zobrazení seznamu. Pomocí elementu ViewSelectedBy můžete definovat objekty, které mohou být zobrazeny všemi definicemi zobrazení, nebo můžete použít EntrySelectedBy element definovat, které objekty jsou zobrazeny konkrétní definicí zobrazení. Ve většině případů má zobrazení pouze jednu definici, takže objekty jsou obvykle definovány ViewSelectedBy element.

Následující příklad ukazuje, jak definovat objekty, které jsou zobrazeny zobrazením seznamu pomocí ViewSelectedBy a TypeName elementy. Počet TypeName prvků, které můžete zadat, není nijak omezený a jejich pořadí není významné.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <ListControl>...</ListControl>
</View>

Následující elementy XML lze použít k určení objektů, které jsou používány zobrazením seznamu:

  • Element ViewSelectedBy definuje, které objekty jsou zobrazeny zobrazením seznamu.

  • Element TypeName určuje objekt .NET, který je zobrazen zobrazením. Je vyžadován plně kvalifikovaný název typu .NET. Je nutné zadat alespoň jeden typ nebo sadu výběru pro zobrazení, ale neexistuje žádný maximální počet prvků, které lze zadat.

Příklad kompletního souboru formátování najdete v tématu Zobrazení seznamu (Základní).

Následující příklad používá elementy ViewSelectedBy a SelectionSet Name. Použijte sady výběrů, ve kterých máte související sadu objektů, které se zobrazují pomocí více zobrazení, například při definování zobrazení seznamu a zobrazení tabulky pro stejné objekty. Další informace o tom, jak vytvořit sadu výběrů, naleznete v tématu Definování sad výběrů.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <ListControl>...</ListControl>
</View>

Následující elementy XML lze použít k určení objektů, které jsou používány zobrazením seznamu:

  • Element ViewSelectedBy definuje, které objekty jsou zobrazeny zobrazením seznamu.

  • Element SelectionSetName určuje sadu objektů, které lze zobrazit v zobrazení. Je nutné zadat alespoň jednu sadu nebo typ výběru pro zobrazení, ale neexistuje žádný maximální počet prvků, které lze zadat.

Následující příklad ukazuje, jak definovat objekty zobrazené konkrétní definicí zobrazení seznamu pomocí EntrySelectedBy elementu. Pomocí tohoto prvku můžete zadat název typu .NET objektu, sadu výběrů objektů nebo podmínku výběru, která určuje, kdy se definice použije. Další informace o tom, jak vytvořit podmínky výběru, naleznete v tématu Definování podmínek pro zobrazení dat.

<ListEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</ListEntry>

Následující elementy XML lze použít k určení objektů, které jsou používány konkrétní definicí zobrazení seznamu:

  • Element EntrySelectedBy definuje, které objekty jsou zobrazeny definicí.

  • Element TypeName určuje objekt .NET, který je zobrazen definicí. Při použití tohoto elementu se vyžaduje plně kvalifikovaný název typu .NET. Je nutné zadat alespoň jeden typ, sadu výběrů nebo podmínku výběru pro definici, ale neexistuje žádný maximální počet prvků, které lze zadat.

  • Element SelectionSetName (není zobrazen) určuje sadu objektů, které lze zobrazit touto definicí. Je nutné zadat alespoň jeden typ, sadu výběrů nebo podmínku výběru pro definici, ale neexistuje žádný maximální počet prvků, které lze zadat.

  • Element SelectionCondition (není zobrazen) určuje podmínku, která musí existovat pro použití této definice. Je nutné zadat alespoň jeden typ, sadu výběrů nebo podmínku výběru pro definici, ale neexistuje žádný maximální počet prvků, které lze zadat. Další informace o definování podmínek výběru naleznete v tématu Definování podmínek pro zobrazení dat.

Zobrazení skupin objektů v zobrazení seznamu

Objekty, které jsou zobrazeny v zobrazení seznamu, můžete oddělit do skupin. To neznamená, že definujete skupinu, pouze to, že Windows PowerShell spustí novou skupinu vždy, když se změní hodnota konkrétní vlastnosti nebo skriptu. V následujícím příkladu se spustí nová skupina vždy, když se změní hodnota System.ServiceProcess.ServiceController.ServiceType vlastnost.

<GroupBy>
  <Label>Service Type</Label>
  <PropertyName>ServiceType</PropertyName>
</GroupBy>

Následující elementy XML slouží k definování, kdy je skupina spuštěna:

  • Element GroupBy definuje vlastnost nebo skript, který spustí novou skupinu a definuje, jak se skupina zobrazí.

  • Element PropertyName určuje vlastnost, která při každé změně hodnoty spustí novou skupinu. Je nutné zadat vlastnost nebo skript pro spuštění skupiny, ale nemůžete zadat obojí.

  • Element ScriptBlock určuje skript, který při každé změně hodnoty spustí novou skupinu. Chcete-li spustit skupinu, musíte zadat skript nebo vlastnost, ale nemůžete zadat obojí.

  • Element Label definuje popisek, který se zobrazí na začátku každé skupiny. Kromě textu určeného tímto prvkem zobrazí Windows PowerShell hodnotu, která aktivovala novou skupinu, a před a za popisek přidá prázdný řádek. Tento element je volitelný.

  • Element CustomControl definuje ovládací prvek, který se používá k zobrazení dat. Tento element je volitelný.

  • Element CustomControlName určuje společný ovládací prvek nebo ovládací prvek zobrazení, který slouží k zobrazení dat. Tento element je volitelný.

Příklad kompletního formátovacího souboru, který definuje skupiny, najdete v tématu Zobrazení seznamu (GroupBy).

Použití formátových řetězců

Do zobrazení je možné přidat formátovací řetězce, aby bylo možné dále definovat způsob zobrazení dat. Následující příklad ukazuje, jak definovat formátovací řetězec pro hodnotu StartTime vlastnost.

<ListItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>

K určení vzoru formátu lze použít následující elementy XML:

  • Element ListItem určuje data zobrazená zobrazením.

  • Element PropertyName určuje vlastnost, jejíž hodnota je zobrazena zobrazením. Musíte zadat buď vlastnost, nebo skript, ale nemůžete zadat obojí.

  • Element FormatString určuje formátový vzor, který definuje způsob zobrazení vlastnosti nebo hodnoty skriptu v zobrazení.

  • Element ScriptBlock (není zobrazen) určuje skript, jehož hodnota je zobrazena zobrazením. Musíte zadat buď skript, nebo vlastnost, ale nemůžete zadat obojí.

V následujícím příkladu je volána metoda ToString pro formátování hodnoty skriptu. Skripty mohou volat jakoukoli metodu objektu. Proto, pokud objekt má metodu, například ToString, který má formátovací parametry, skript může tuto metodu volat k formátování výstupní hodnoty skriptu.

<ListItem>
  <ScriptBlock>
    [string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</ListItem>

Následující element XML lze použít k volání ToString metody:

  • Element ListItem určuje data zobrazená zobrazením.

  • Element ScriptBlock (není zobrazen) určuje skript, jehož hodnota je zobrazena zobrazením. Musíte zadat buď skript, nebo vlastnost, ale nemůžete zadat obojí.

Viz také

psaní rutiny Prostředí Windows PowerShell