Megosztás a következőn keresztül:


Széles nézet létrehozása

A széles nézet minden megjelenített objektumhoz egyetlen értéket jelenít meg. A megjelenített érték egy .NET-objektumtulajdonság vagy egy szkript értéke lehet. Alapértelmezés szerint ehhez a nézethez nincs címke vagy fejléc.

Széles nézet megjelenítése

Az alábbi példa bemutatja, Windows PowerShell megjeleníti a System.Diagnostics.Process objektumot, amelyet a Get-Process parancsmag ad vissza, amikor a kimenete a Format-Wide parancsmagra lesz átküldve. (Alapértelmezés szerint a Get-Process parancsmag táblanézetet ad vissza.) Ebben a példában a két oszlopot használjuk az egyes visszaadott objektumok folyamatnevének megjelenítésére. Az objektum tulajdonságának neve nem jelenik meg, csak a tulajdonság értéke.

Get-Process | format-wide
AEADISRV                     agrsmsvc
Ati2evxx                     Ati2evxx
audiodg                      CCC
CcmExec                      communicator
Crypserv                     csrss
csrss                        DevDtct2
DM1Service                   dpupdchk
dwm                          DxStudio
EXCEL                        explorer
GoogleToolbarNotifier        GrooveMonitor
hpqwmiex                     hpservice
Idle                         InoRpc
InoRT                        InoTask
ipoint                       lsass
lsm                          MOM
MSASCui                      notepad
...                          ...

A széles nézet meghatározása

Az alábbi XML a System.Diagnostics.Process objektum széles nézetű sémáját mutatja.

View>
  <Name>process</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <GroupBy>...</GroupBy>
  <Controls>...</Controls>
  <WideControl>
    <WideEntries>
      <WideEntry>
        <WideItem>
          <PropertyName>ProcessName</PropertyName>
        </WideItem>
      </WideEntry>
    </WideEntries>
  </WideControl>
</View>

Széles nézet definiálásakor a következő XML-elemek használhatók:

  • A Nézet elem a széles nézet szülőeleme. (Ez ugyanaz a szülőelem, mint a tábla, a lista és az egyéni vezérlőnézetek.)

  • A Név elem határozza meg a nézet nevét. Ez az elem minden nézethez szükséges.

  • A NézetSelectedBy elem határozza meg a nézetet használatba véve az objektumokat. Ez az elem kötelező.

  • A GroupBy elem határozza meg, hogy mikor jelenik meg új objektumcsoport. Egy új csoport akkor lesz elindítva, amikor egy adott tulajdonság vagy szkript értéke megváltozik. Ez az elem nem kötelező.

  • A Vezérlők elemek a széles nézet által definiált egyéni vezérlőket határozzák meg. A vezérlőkkel még jobban meghatározhatja az adatok megjelenítésének módját. Ez az elem nem kötelező. A nézeteket definiálhatja saját egyéni vezérlőivel, vagy használhat általános vezérlőket, amelyek a formázási fájl bármely nézete által használhatók. További információ az egyéni vezérlőkről: Egyéni vezérlők létrehozása.

  • A WideControl elem és annak gyermekelemei határozzák meg, hogy mi jelenik meg a nézetben. Az előző példában a nézet a System.Diagnostics.Process.Processname tulajdonság megjelenítésére lett kialakítva.

Egy egyszerű széles nézetet definiáló teljes formázási fájlra a Wide View (Basic) (Széles nézet (alapszintű)) ) dokumentumban láthat példát.

Definíciók biztosítása a széles nézethez

A széles nézetek a WideControl elem gyermekelemei segítségével egy vagy több definíciót is nyújthatnak. A nézet általában csak egy definícióval fog tartalmazni. A következő példában a nézet egyetlen definíciót biztosít, amely a System.Diagnostics.Process.Processname tulajdonság értékét jeleníti meg. Széles nézetben megjeleníthető egy tulajdonság vagy egy szkript értéke (a példában nem látható).

<WideControl>
  <AutoSize/>
  <ColumnNumber></ColumnNumber>
  <WideEntries>
    <WideEntry>
      <WideItem>
        <PropertyName>ProcessName</PropertyName>
      </WideItem>
    </WideEntry>
  </WideEntries>
</WideControl>

A következő XML-elemek használhatók a széles nézet definícióinak meghatározására:

  • A WideControl elem és annak gyermekelemei határozzák meg, hogy mi jelenik meg a nézetben.

  • Az AutoSize elem határozza meg, hogy az oszlop mérete és az oszlopok száma az adatok mérete alapján legyen-e módosítva. Ez az elem nem kötelező.

  • A ColumnNumber elem a széles nézetben megjelenített oszlopok számát határozza meg. Ez az elem nem kötelező.

  • A WideEntries elem biztosítja a nézet definícióit. A legtöbb esetben a nézetnek csak egy definíciója van. Ez az elem kötelező.

  • A WideEntry elem a nézet definícióját biztosítja. Legalább egy WideEntry szükséges; A felvehető elemek száma azonban nincs korlátozva. A legtöbb esetben a nézetnek csak egy definíciója van.

  • Az EntrySelectedBy elem határozza meg az adott definíció által megjelenített objektumokat. Ez az elem nem kötelező, és csak akkor szükséges, ha több, különböző objektumokat megjelenítő WideEntry elemet határoz meg.

  • A WideItem elem határozza meg a nézet által megjelenített adatokat. A többi nézettípussal ellentétben egy széles vezérlőelem csak egy elemet képes megjeleníteni.

  • A PropertyName elem határozza meg azt a tulajdonságot, amelynek az értékét a nézet megjeleníti. Meg kell adnia egy tulajdonságot vagy egy parancsfájlt, de mindkettőt nem.

  • A ScriptBlock elem határozza meg azt a szkriptet, amelynek az értékét a nézet megjeleníti. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.

  • A FormatString elem az adatok megjelenítésére használt mintát határozza meg. Ez az elem nem kötelező.

A széles nézetdefiníciót definiáló teljes formázási fájlra a Széles nézet (alapszintű)dokumentumban láthat példát.

A széles nézetet használó objektumok definiálása

A széles nézetet kétféleképpen határozhatja meg. A ViewSelectedBy elem használatával meghatározhatja a nézet összes definíciója által megjeleníthető objektumokat, vagy az EntrySelectedBy elemmel meghatározhatja, hogy mely objektumok jelennek meg a nézet egy adott definíciója által. A legtöbb esetben a nézet csak egy definícióval rendelkezik, ezért az objektumokat általában a ViewSelectedBy elem határozza meg.

Az alábbi példa bemutatja, hogyan definiálhatja a széles nézet által megjelenített objektumokat a ViewSelectedBy és a TypeName elemek használatával. A TypeName megadható elemeinek száma nincs korlátozva, és a sorrendjük nem jelentős.

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

A széles nézet által használt objektumok megadásához a következő XML-elemek használhatók:

  • A ViewSelectedBy elem határozza meg, hogy a széles nézet mely objektumokat jeleníti meg.

  • A TypeName elem határozza meg a nézet által megjelenített .NET-et. A teljes .NET-típusnévre van szükség. A nézethez meg kell adnia legalább egy típust vagy kijelölési készletet, de az elemek maximális száma nem adható meg.

Egy teljes formázási fájlra példát a Széles nézet (Alapszintű) dokumentumban láthat.

Az alábbi példa a ViewSelectedBy és selectionSetName elemeket használja. Olyan kijelölési halmazokat használjon, amelyekben több nézetben jelennek meg kapcsolódó objektumkészletek, például amikor széles nézetet és táblanézetet ad meg ugyanazokhoz az objektumokhoz. További információ a kijelölési készletek létrehozásáról: Kijelölési készletek definiálása.

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

A széles nézet által használt objektumok megadásához a következő XML-elemek használhatók:

  • A ViewSelectedBy elem határozza meg, hogy a széles nézet mely objektumokat jeleníti meg.

  • A SelectionSetName elem a nézet által megjeleníthető objektumok egy halmazát határozza meg. A nézethez meg kell adnia legalább egy kijelölési halmazt vagy típust, de nem adható meg maximális számú elem.

Az alábbi példa bemutatja, hogyan definiálhatja a széles nézet adott definíciója által megjelenített objektumokat az EntrySelectedBy elem használatával. Ezzel az elemmel megadhatja az objektum .NET-típusnevét, egy objektumválasztó készletet vagy egy kijelölési feltételt, amely meghatározza, hogy mikor használja a rendszer a definíciót. További információ a kiválasztási feltételek létrehozásáról: Adatkijelzési feltételek definiálása.

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

A következő XML-elemek segítségével adhatja meg a széles nézet adott definíciója által használt objektumokat:

  • Az 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-et. Az elem használata esetén a teljes .NET-típusnévre van szükség. A definícióhoz meg kell adnia legalább egy típust, kijelölési halmazt vagy kiválasztási feltételt, de nem adható meg maximális számú elem.

  • A SelectionSetName elem (nem látható) meghatározza a definíció által megjeleníthető objektumok egy halmazát. A definícióhoz meg kell adnia legalább egy típust, kijelölési halmazt vagy kiválasztási feltételt, de nem adható meg maximális számú elem.

  • A SelectionCondition elem (nem látható) olyan feltételt ad meg, amely a definícióhoz használható. A definícióhoz meg kell adnia legalább egy típust, kijelölési halmazt vagy kiválasztási feltételt, de nem adható meg maximális számú elem. A kiválasztási feltételek meghatározásával kapcsolatos további információkért lásd: Adatkijelzési feltételek definiálása.

Objektumcsoportok megjelenítése széles nézetben

A széles nézetben megjelenített objektumokat csoportokra különülheti el. Ez nem jelenti azt, hogy definiálni kell egy csoportot, csak azt, Windows PowerShell egy új csoportot kezd el, amikor egy adott tulajdonság vagy szkript értéke megváltozik. A következő példában egy új csoport lesz elindítva, amikor megváltozik a System.Serviceprocess.Servicecontroller.Servicetype tulajdonság értéke.

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

A következő XML-elemek határozzák meg, hogy mikor elindul egy csoport:

  • A GroupBy elem határozza meg azt a tulajdonságot vagy szkriptet, amely elindítja az új csoportot, és meghatározza a csoport megjelenítésének a mikéntját.

  • A PropertyName elem határozza meg azt a tulajdonságot, amely egy új csoportot kezd el, amikor megváltozik az értéke. Meg kell adnia egy tulajdonságot vagy szkriptet a csoport elindítani, de mindkettőt nem.

  • A ScriptBlock elem határozza meg azt a szkriptet, amely egy új csoportot kezd el, amikor megváltozik az értéke. A csoport indításhoz meg kell adnia egy parancsfájlt vagy tulajdonságot, de mindkettőt nem.

  • A Label elem definiál egy címkét, amely az egyes csoportok elején jelenik meg. Az elem által megadott szövegen kívül a Windows PowerShell megjeleníti az új csoportot aktiváló értéket, és egy üres sort ad hozzá 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 használható. Ez az elem nem kötelező.

  • A CustomControlName elem egy közös vagy nézet vezérlőt ad meg, amely az adatok megjelenítésére használható. Ez az elem nem kötelező.

A csoportokat definiáló teljes formázási fájlra példát a Wide View (GroupBy) (Széles nézet (GroupBy) ) dokumentumban láthat.

Formázási sztringek használata

A széles nézethez formázási sztringek is hozzáadhatóak 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 tulajdonság StartTime értékeként.

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

Formátumminta megadásához a következő XML-elemek használhatók:

  • A WideItem elem határozza meg a nézet által megjelenített adatokat.

  • A PropertyName elem határozza meg azt a tulajdonságot, amelynek az értékét a nézet megjeleníti. Meg kell adnia egy tulajdonságot vagy egy parancsfájlt, de mindkettőt nem.

  • A FormatString elem egy formátummintát határoz meg, amely meghatározza, hogy a tulajdonság vagy szkript értéke hogyan jelenik meg a nézetben

  • A ScriptBlock elem (nem látható) határozza meg azt a szkriptet, amelynek az értékét a nézet megjeleníti. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.

A következő példában a metódust hívjuk meg a szkript értékének ToString formázására. A szkriptek egy objektum bármely metódusát meg lehet hívni. Ezért ha egy objektum rendelkezik egy olyan metódussal, mint a , amely formázási paraméterekkel rendelkezik, a szkript ezt a metódust hívhatja meg a szkript kimeneti értékének ToString formázásához.

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

A metódus a következő XML-elemmel ToString hívható meg:

  • A WideItem elem határozza meg a nézet által megjelenített adatokat.

  • A ScriptBlock elem (nem látható) határozza meg azt a szkriptet, amelynek az értékét a nézet megjeleníti. Meg kell adnia egy szkriptet vagy egy tulajdonságot, de mindkettőt nem.

Lásd még:

Széles nézet (Alapszintű)

Széles nézet (GroupBy)

PowerShelles formázási fájl írása