Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A listanézetek egyetlen oszlopban (szekvenciális sorrendben) jelenítik meg az adatokat. A listában megjelenített adatok lehetnek egy .NET-tulajdonság vagy egy szkript értéke.
Listanézet megjelenítése
Az alábbi kimenet azt mutatja be, hogy a Windows PowerShell hogyan jeleníti meg System.ServiceProcess.ServiceController objektum tulajdonságait, amelyeket a Get-Service parancsmag ad vissza. Ebben a példában három objektumot adtunk vissza, mindegyik objektumot egy üres sor választja el az előző objektumtól.
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
...
A listanézet definiálása
Az alábbi XML a System.ServiceProcess.ServiceController objektum több tulajdonságának megjelenítésére szolgáló listanézet-sémát mutatja. Meg kell adnia a listanézetben megjeleníteni kívánt összes tulajdonságot.
<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>
A listanézet meghatározásához a következő XML-elemek használhatók:
A Nézet elem a listanézet szülőeleme. (Ez ugyanaz a szülőelem a táblázat, a széles és az egyéni vezérlőnézetekhez.)
A Név elem határozza meg a nézet nevét. Ez az elem minden nézethez szükséges.
A ViewSelectedBy elem határozza meg a nézetet használó objektumokat. Ez az elem szükséges.
A GroupBy elem határozza meg, hogy mikor jelenjen meg új objektumcsoport. Egy új csoport akkor indul el, amikor egy adott tulajdonság vagy szkript értéke megváltozik. Ez az elem nem kötelező.
A Vezérlők elem határozza meg a listanézet által definiált egyéni vezérlőket. A vezérlők lehetővé teszik az adatok megjelenítésének további megadását. Ez az elem nem kötelező. Egy nézet definiálhatja saját egyéni vezérlőit, vagy használhat olyan gyakori vezérlőket, amelyeket a formázási fájl bármely nézete használhat. További információ az egyéni vezérlőkről: Egyéni vezérlők létrehozása.
A ListControl elem határozza meg, hogy mi jelenjen meg a nézetben, és hogyan formázza. Az összes többi nézethez hasonlóan a listanézetek is megjeleníthetik a szkript által létrehozott objektumtulajdonságok vagy értékek értékeit.
Egy egyszerű listanézetet definiáló teljes formázási fájlra példa: Listanézet (Alapszintű).
Definíciók megadása a listanézethez
A listanézetek a ListControl elem gyermekelemeinek használatával adhatnak meg egy vagy több definíciót. Egy nézet általában csak egy definícióval rendelkezik. A következő példában a nézet egyetlen definíciót biztosít, amely a System.Diagnostics.Process objektum több tulajdonságát jeleníti meg. A listanézetek megjeleníthetik egy tulajdonság vagy egy szkript értékét (a példában nem látható).
<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>
A listanézet definícióinak megadásához a következő XML-elemek használhatók:
A ListControl elem és gyermekelemei határozzák meg, hogy mi jelenjen meg a nézetben.
A ListEntries elem adja meg a nézet definícióit. A legtöbb esetben egy nézetnek csak egy definíciója lesz. Ez az elem szükséges.
A ListEntry elem határozza meg a nézetet. Legalább egy ListEntry szükséges; azonban nincs maximális korlátja a felvehető elemek számának. A legtöbb esetben egy nézetnek csak egy definíciója lesz.
A EntrySelectedBy elem egy adott definíció által megjelenített objektumokat adja meg. Ez az elem nem kötelező, és csak akkor szükséges, ha több ListEntry különböző objektumokat megjelenítő elemeket definiál.
A ListItems elem határozza meg azokat a tulajdonságokat és szkripteket, amelyek értékei a listanézet soraiban jelennek meg.
A ListItem elem olyan tulajdonságot vagy szkriptet határoz meg, amelynek értéke a listanézet egy sorában jelenik meg. A listanézetnek legalább egy tulajdonságot vagy szkriptet meg kell adnia. A megadható sorok számának nincs maximális korlátja.
A PropertyName elem határozza meg azt a tulajdonságot, amelynek értéke megjelenik a sorban. Meg kell adnia egy tulajdonságot vagy egy szkriptet, de mindkettőt nem.
A ScriptBlock elem határozza meg azt a szkriptet, amelynek értéke megjelenik a sorban. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.
A Címke elem határozza meg azt a címkét, amely a sor tulajdonságának vagy szkriptértékének bal oldalán jelenik meg. Ez az elem nem kötelező. Ha nincs megadva címke, megjelenik a tulajdonság vagy a szkript neve. Egy teljes példát Listanézet (Címkék)című témakörben talál.
Az ItemSelectionCondition elem egy feltételt határoz meg, amely a sor megjelenítéséhez szükséges. További információ a feltételek listanézethez való hozzáadásáról: Adatmegjelenítési feltételek meghatározása. Ez az elem nem kötelező.
A FormatString elem egy olyan mintát határoz meg, amely a tulajdonság vagy szkript értékének megjelenítésére szolgál. Ez az elem nem kötelező.
Egy egyszerű listanézetet definiáló teljes formázási fájlra példa: Listanézet (Alapszintű).
A listanézetet használó objektumok meghatározása
Kétféleképpen határozhatja meg, hogy mely .NET-objektumok használják a listanézetet. A ViewSelectedBy elem használatával definiálhatja a nézet összes definíciója által megjeleníthető objektumokat, vagy a EntrySelectedBy elem használatával meghatározhatja, hogy mely objektumok jelenjenek meg a nézet adott definíciója alapján. A legtöbb esetben egy nézetnek csak egy definíciója van, ezért az objektumokat általában a ViewSelectedBy elem határozza meg.
Az alábbi példa bemutatja, hogyan definiálhatja a listanézet által megjelenített objektumokat a ViewSelectedBy és TypeName elemekkel. Nincs korlátozva a megadható TypeName elemek száma, és a sorrendjük nem jelentős.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
A listanézet által használt objektumok megadásához a következő XML-elemek használhatók:
A ViewSelectedBy elem határozza meg, hogy a listanézet mely objektumokat jeleníti meg.
A TypeName elem határozza meg a nézet által megjelenített .NET-objektumot. A teljes .NET-típusnév megadása kötelező. A nézethez legalább egy típust vagy kijelölési csoportot meg kell adnia, de nem adható meg maximális számú elem.
Egy teljes formázási fájlra példa: Listanézet (Alapszintű).
Az alábbi példa a ViewSelectedBy és SelectionSetName elemeket használja. Olyan kijelölési csoportokat használjon, amelyekhez több nézettel megjelenített kapcsolódó objektumkészlet tartozik, például amikor egy listanézetet és egy táblázatnézetet határoz meg ugyanazon objektumokhoz. További információ a kijelölési csoportok létrehozásáról: Kijelöléskészletek definiálása.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
A listanézet által használt objektumok megadásához a következő XML-elemek használhatók:
A ViewSelectedBy elem határozza meg, hogy a listanézet mely objektumokat jeleníti meg.
A SelectionSetName elem a nézet által megjeleníthető objektumok készletét adja meg. Meg kell adnia legalább egy kijelölési csoportot vagy típust a nézethez, de nincs megadva maximális számú elem.
Az alábbi példa bemutatja, hogyan definiálhatja a listanézet adott definíciója által megjelenített objektumokat a EntrySelectedBy elem használatával. Ezzel az elemet használva megadhatja az objektum .NET-típusnevét, az objektumok kijelölési készletét vagy a definíció használatát meghatározó kijelölési feltételt. További információ a kijelölési feltételek létrehozásáról: Adatmegjelenítési feltételek meghatározása.
<ListEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</ListEntry>
A listanézet adott definíciója által használt objektumok megadásához a következő XML-elemek használhatók:
A EntrySelectedBy elem határozza meg, hogy a definíció mely objektumokat jeleníti meg.
A TypeName elem határozza meg a definíció által megjelenített .NET-objektumot. Az elem használatakor szükség van a teljes .NET-típusnévre. Meg kell adnia legalább egy típust, kijelölési csoportot vagy kijelölési feltételt a definícióhoz, de nem adható meg maximális számú elem.
A SelectionSetName elem (nem jelenik meg) a definíció által megjeleníthető objektumok készletét adja meg. Meg kell adnia legalább egy típust, kijelölési csoportot vagy kijelölési feltételt a definícióhoz, de nem adható meg maximális számú elem.
A SelectionCondition elem (nem jelenik meg) egy feltételt határoz meg, amely a definíció használatához szükséges. Meg kell adnia legalább egy típust, kijelölési csoportot vagy kijelölési feltételt a definícióhoz, de nem adható meg maximális számú elem. A kiválasztási feltételek meghatározásáról további információt Az adatok megjelenítésének feltételeinek meghatározásacímű témakörben talál.
Objektumcsoportok megjelenítése listanézetben
A listanézet által megjelenített objektumokat csoportokra bonthatja. Ez nem jelenti azt, hogy definiál egy csoportot, csak azt, hogy a Windows PowerShell egy új csoportot indít el, amikor egy adott tulajdonság vagy szkript értéke megváltozik. Az alábbi példában egy új csoport indul el, amikor a System.ServiceProcess.ServiceController.ServiceType tulajdonság értéke megváltozik tulajdonság.
<GroupBy>
<Label>Service Type</Label>
<PropertyName>ServiceType</PropertyName>
</GroupBy>
A következő XML-elemek határozzák meg, hogy mikor indul el egy csoport:
A GroupBy elem határozza meg az új csoportot kezdő tulajdonságot vagy szkriptet, és meghatározza a csoport megjelenítésének módját.
A PropertyName elem határozza meg azt a tulajdonságot, amely az érték változásakor új csoportot indít el. A csoport indításához meg kell adnia egy tulajdonságot vagy szkriptet, de mindkettőt nem.
A ScriptBlock elem határozza meg azt a szkriptet, amely új csoportot indít el, amikor annak értéke megváltozik. A csoport indításához meg kell adnia egy szkriptet vagy tulajdonságot, de mindkettőt nem.
A Címke elem definiálja az egyes csoportok elején megjelenő címkét. Az elem által megadott szöveg mellett a Windows PowerShell megjeleníti az új csoportot aktiváló értéket, és hozzáad egy üres sort a címke előtt és után. Ez az elem nem kötelező.
A CustomControl elem definiál egy vezérlőt, amely az adatok megjelenítésére szolgál. Ez az elem nem kötelező.
A CustomControlName elem egy általános vagy nézetvezérlőt határoz meg, amely az adatok megjelenítésére szolgál. Ez az elem nem kötelező.
A csoportokat definiáló teljes formázási fájlra példa: Listanézet (GroupBy).
Sztringek formázása
A formázási sztringek hozzáadhatók egy nézethez az adatok megjelenítésének további meghatározásához. Az alábbi példa bemutatja, hogyan definiálhat formázási sztringet a StartTime tulajdonság értékéhez.
<ListItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>
Formátumminta megadásához a következő XML-elemek használhatók:
A ListItem elem határozza meg a nézet által megjelenített adatokat.
A PropertyName elem határozza meg azt a tulajdonságot, amelynek értékét a nézet megjeleníti. Meg kell adnia egy tulajdonságot vagy egy szkriptet, de mindkettőt nem.
A FormatString elem egy formátummintát határoz meg, amely meghatározza, hogy a tulajdonság vagy a szkript értéke hogyan jelenjen meg a nézetben.
A ScriptBlock elem (nem jelenik meg) azt a szkriptet határozza meg, amelynek értékét a nézet jeleníti meg. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.
Az alábbi példában a szkript értékének formázásához a ToString metódust hívjuk meg. A szkriptek az objektumok bármely metódusát meghívhatják. Ezért ha egy objektum olyan metódussal rendelkezik, például ToString, amely formázási paraméterekkel rendelkezik, a szkript meghívhatja ezt a metódust a szkript kimeneti értékének formázására.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
A ToString metódus meghívásához a következő XML-elem használható:
A ListItem elem határozza meg a nézet által megjelenített adatokat.
A ScriptBlock elem (nem jelenik meg) azt a szkriptet határozza meg, amelynek értékét a nézet jeleníti meg. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.