Vytvoření zobrazení seznamu

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

Zobrazení seznamu

Následující výstup ukazuje, Windows PowerShell zobrazí vlastnosti System.Serviceprocess.Servicecontroller? Displayproperty=Fullname objekty, které vrací rutina Get-Service. V tomto příkladu byly vráceny tři objekty, z nichž každý je oddělený od předchozího objektu prázdným řádem.

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í kód XML ukazuje schéma zobrazení seznamu pro zobrazení několika vlastností System.Serviceprocess.Servicecontroller? Displayproperty=Fullname – objekt. 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>

Následující elementy XML slouží k definování zobrazení seznamu:

  • Element View je nadřazeným prvkem 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 element je povinný.

  • Element GroupBy definuje, kdy se zobrazí nová skupina objektů. Nová skupina se začáte při každé změně hodnoty konkrétní vlastnosti nebo skriptu. Tento element je volitelný.

  • Element Controls definuje vlastní ovládací prvky, které jsou definovány 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 libovolným zobrazením ve formátovacím souboru. Další informace o vlastních ovládacích prvcích najdete v tématu Vytváření vlastních ovládacích prvků.

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

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

Poskytování definic pro zobrazení seznamu

Zobrazení seznamu mohou poskytovat jednu nebo více definic pomocí podřízených elementů elementu ListControl. 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? Displayproperty=Fullname – objekt. 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 poskytování definic pro zobrazení seznamu:

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

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

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

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

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

  • Element ListItem určuje vlastnost nebo skript, jejichž hodnota se zobrazí v řádku zobrazení seznamu. Zobrazení seznamu musí obsahovat alespoň jednu vlastnost nebo skript. Neexistuje žádné maximální omezení počtu řádků, které lze zadat.

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

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

  • Element Label určuje popisek, který se zobrazí nalevo od vlastnosti nebo hodnoty skriptu na řádku. Tento element je volitelný. Pokud popisek nezadáte, zobrazí se název vlastnosti nebo skriptu. Kompletní příklad najdete v tématu Zobrazení seznamu (popisky).

  • Element ItemSelectionCondition určuje podmínku, která musí existovat, aby se řádek měl zobrazit. Další informace o přidávání podmínek do zobrazení seznamu najdete v tématu Definování podmínek pro zobrazení dat. Tento element je volitelný.

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

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

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 pomocí elementu EntrySelectedBy definovat, které objekty se zobrazí konkrétní definicí zobrazení. Ve většině případů má zobrazení pouze jednu definici, takže objekty jsou obvykle definovány elementem ViewSelectedBy.

Následující příklad ukazuje, jak definovat objekty, které jsou zobrazeny v zobrazení seznamu pomocí elementů ViewSelectedBy a TypeName. Neexistuje žádné omezení počtu prvků TypeName, které můžete zadat, 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 v zobrazení seznamu:

  • Element ViewSelectedBy definuje, které objekty se zobrazí v zobrazení seznamu.

  • Element TypeName určuje objekt .NET, který je zobrazen zobrazením. Vyžaduje se plně kvalifikovaný název typu .NET. Pro zobrazení musíte zadat alespoň jeden typ nebo sadu výběrů, ale není možné zadat maximální počet prvků.

Příklad úplného formátovacího souboru najdete v tématu Zobrazení seznamu (Basic).

Následující příklad používá prvky ViewSelectedBy a SelectionSetName. Použijte sady výběru, kde máte související sadu objektů, které jsou zobrazeny 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ěru, najdete 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 v zobrazení seznamu:

  • Element ViewSelectedBy definuje, které objekty se zobrazí v zobrazení seznamu.

  • Element SelectionSetName určuje sadu objektů, které lze zobrazit zobrazením. Pro zobrazení musíte zadat alespoň jednu sadu nebo typ výběru, ale není možné zadat maximální počet prvků.

Následující příklad ukazuje, jak definovat objekty zobrazené konkrétní definicí zobrazení seznamu pomocí elementu EntrySelectedBy. Pomocí tohoto elementu můžete zadat název typu .NET objektu, sadu výběru objektů nebo podmínku výběru, která určuje, kdy je definice použita. Další informace o tom, jak vytvořit podmínky výběru, najdete 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í definici zobrazení seznamu:

  • Element EntrySelectedBy definuje, které objekty jsou zobrazovány definicí.

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

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

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

Zobrazení skupin objektů v zobrazení seznamu

Objekty zobrazené v zobrazení seznamu můžete rozdělit do skupin. To neznamená, že definujete skupinu, ale pouze to, Windows PowerShell spustí novou skupinu při každé změně hodnoty konkrétní vlastnosti nebo skriptu. V následujícím příkladu je nová skupina spuštěna při každé změně hodnoty vlastnosti System.Serviceprocess.Servicecontroller.Servicetype.

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

Následující elementy XML slouží k definování při spuštění skupiny:

  • Element GroupBy definuje vlastnost nebo skript, který spustí novou skupinu, a definuje způsob zobrazení skupiny.

  • Element PropertyName určuje vlastnost, která spustí novou skupinu při každé změně její hodnoty. Pokud chcete spustit skupinu, musíte zadat vlastnost nebo skript, ale nemůžete zadat obojí.

  • Element ScriptBlock určuje skript, který spustí novou skupinu při každé změně její hodnoty. Pokud chcete 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 Windows PowerShell hodnotu, která aktivoval 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ý se používá 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ů

Formátovací řetězce lze přidat do zobrazení, 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 vlastnosti .

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

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

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

  • Element PropertyName určuje vlastnost, jejíž hodnotu zobrazení zobrazuje. 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 (nezobrazuje se) určuje skript, jehož hodnota se zobrazí v zobrazení. Musíte zadat buď skript, nebo vlastnost, ale nemůžete zadat obojí.

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

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

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

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

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

Viz také

Vytvoření rutiny Windows PowerShellu