Skapa en bred vy

En bred vy visar ett enda värde för varje objekt som visas. Värdet som visas kan vara värdet för en .NET-objektegenskap eller värdet för ett skript. Som standard finns det ingen etikett eller rubrik för den här vyn.

En bred vyvy

I följande exempel visas Windows PowerShell visar objektet System.Diagnostics.Process som returneras av cmdleten Get-Process när dess utdata skickas till cmdleten Format-Wide. (Som standard returnerar cmdleten Get-Process en tabellvy.) I det här exemplet används de två kolumnerna för att visa namnet på processen för varje returnerat objekt. Namnet på objektets egenskap visas inte, bara värdet för egenskapen .

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
...                          ...

Definiera den breda vyn

Följande XML visar det breda visningsschemat för objektet System.Diagnostics.Process.

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>

Följande XML-element används för att definiera en bred vy:

  • View-elementet är det överordnade elementet i den breda vyn. (Det här är samma överordnade element för vyerna tabell, lista och anpassad kontroll.)

  • Elementet Name anger namnet på vyn. Det här elementet krävs för alla vyer.

  • Elementet ViewSelectedBy definierar de objekt som använder vyn. Det här elementet krävs.

  • GroupBy-elementet definierar när en ny grupp med objekt visas. En ny grupp startas när värdet för en viss egenskap eller ett skript ändras. Det här elementet är valfritt.

  • Elementen Kontroller definierar de anpassade kontroller som definieras av den breda vyn. Kontroller ger dig ett sätt att ytterligare ange hur data ska visas. Det här elementet är valfritt. En vy kan definiera egna anpassade kontroller eller använda vanliga kontroller som kan användas av valfri vy i formateringsfilen. Mer information om anpassade kontroller finns i Skapa anpassade kontroller.

  • WideControl-elementet och dess underordnade element definierar vad som visas i vyn. I föregående exempel är vyn utformad för att visa egenskapen System.Diagnostics.Process.Processname.

Ett exempel på en fullständig formateringsfil som definierar en enkel bred vy finns i Wide View (Basic).

Tillhandahålla definitioner för din breda vy

Breda vyer kan tillhandahålla en eller flera definitioner med hjälp av de underordnade elementen i WideControl-elementet. Normalt har en vy bara en definition. I följande exempel innehåller vyn en enda definition som visar värdet för egenskapen System.Diagnostics.Process.Processname. En bred vy kan visa värdet för en egenskap eller värdet för ett skript (visas inte i exemplet).

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

Följande XML-element kan användas för att ange definitioner för en bred vy:

  • WideControl-elementet och dess underordnade element definierar vad som visas i vyn.

  • Elementet AutoSize anger om kolumnstorleken och antalet kolumner justeras baserat på storleken på data. Det här elementet är valfritt.

  • Elementet ColumnNumber anger antalet kolumner som visas i den breda vyn. Det här elementet är valfritt.

  • Elementet WideEntries innehåller definitionerna av vyn. I de flesta fall har en vy bara en definition. Det här elementet krävs.

  • WideEntry-elementet innehåller en definition av vyn. Minst en WideEntry krävs. Det finns dock ingen maxgräns för antalet element som du kan lägga till. I de flesta fall har en vy bara en definition.

  • Elementet EntrySelectedBy anger de objekt som visas av en specifik definition. Det här elementet är valfritt och behövs bara när du definierar flera WideEntry-element som visar olika objekt.

  • WideItem-elementet anger de data som visas i vyn. Till skillnad från andra typer av vyer kan en bred kontroll endast visa ett objekt.

  • Elementet PropertyName anger den egenskap vars värde visas i vyn. Du måste ange antingen en egenskap eller ett skript, men du kan inte ange båda.

  • ScriptBlock-elementet anger det skript vars värde visas i vyn. Du måste ange antingen ett skript eller en egenskap, men du kan inte ange båda.

  • FormatString-elementet anger ett mönster som används för att visa data. Det här elementet är valfritt.

Ett exempel på en fullständig formateringsfil som definierar en bred vydefinition finns i Wide View (Basic).

Definiera de objekt som använder den breda vyn

Det finns två sätt att definiera vilka .NET-objekt som använder den breda vyn. Du kan använda elementet ViewSelectedBy för att definiera de objekt som kan visas av alla definitioner av vyn, eller så kan du använda elementet EntrySelectedBy för att definiera vilka objekt som ska visas av en specifik definition av vyn. I de flesta fall har en vy bara en definition, så objekt definieras vanligtvis av elementet ViewSelectedBy.

I följande exempel visas hur du definierar de objekt som visas av den breda vyn med elementen ViewSelectedBy och TypeName. Det finns ingen gräns för antalet TypeName-element som du kan ange och deras ordning är inte betydande.

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

Följande XML-element kan användas för att ange de objekt som används av den breda vyn:

  • Elementet ViewSelectedBy definierar vilka objekt som visas i den breda vyn.

  • Elementet TypeName anger det .NET som visas i vyn. Det fullständigt kvalificerade .NET-typnamnet krävs. Du måste ange minst en typ eller urvalsuppsättning för vyn, men det finns inget maximalt antal element som kan anges.

Ett exempel på en fullständig formateringsfil finns i Wide View (Basic).

I följande exempel används elementen ViewSelectedBy och SelectionSetName. Använd markeringsuppsättningar där du har en relaterad uppsättning objekt som visas med flera vyer, till exempel när du definierar en bred vy och en tabellvy för samma objekt. Mer information om hur du skapar en urvalsuppsättning finns i Definiera urvalsuppsättningar.

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

Följande XML-element kan användas för att ange de objekt som används av den breda vyn:

  • Elementet ViewSelectedBy definierar vilka objekt som visas i den breda vyn.

  • Elementet SelectionSetName anger en uppsättning objekt som kan visas i vyn. Du måste ange minst en urvalsuppsättning eller typ för vyn, men det finns inget maximalt antal element som kan anges.

I följande exempel visas hur du definierar de objekt som visas av en specifik definition av den breda vyn med hjälp av elementet EntrySelectedBy. Med det här elementet kan du ange .NET-typnamnet för objektet, en urvalsuppsättning objekt eller ett urvalsvillkor som anger när definitionen används. Mer information om hur du skapar ett urvalsvillkor finns i Definiera villkor för att visa data.

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

Följande XML-element kan användas för att ange de objekt som används av en specifik definition av den breda vyn:

  • Elementet EntrySelectedBy definierar vilka objekt som visas av definitionen.

  • Elementet TypeName anger det .NET som visas av definitionen. När du använder det här elementet krävs det fullständigt kvalificerade .NET-typnamnet. Du måste ange minst en typ, en urvalsuppsättning eller ett urvalsvillkor för definitionen, men det finns inget maximalt antal element som kan anges.

  • Elementet SelectionSetName (visas inte) anger en uppsättning objekt som kan visas med den här definitionen. Du måste ange minst en typ, en urvalsuppsättning eller ett urvalsvillkor för definitionen, men det finns inget maximalt antal element som kan anges.

  • Elementet SelectionCondition (visas inte) anger ett villkor som måste finnas för att den här definitionen ska kunna användas. Du måste ange minst en typ, en urvalsuppsättning eller ett urvalsvillkor för definitionen, men det finns inget maximalt antal element som kan anges. Mer information om hur du definierar urvalsvillkor finns i Definiera villkor för att visa data.

Visa grupper av objekt i en bred vy

Du kan separera objekten som visas av den breda vyn i grupper. Detta innebär inte att du definierar en grupp, bara att Windows PowerShell startar en ny grupp när värdet för en viss egenskap eller ett skript ändras. I följande exempel startas en ny grupp när värdet för egenskapen System.Serviceprocess.Servicecontroller.Servicetype ändras.

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

Följande XML-element används för att definiera när en grupp startas:

  • GroupBy-elementet definierar egenskapen eller skriptet som startar den nya gruppen och definierar hur gruppen visas.

  • Elementet PropertyName anger egenskapen som startar en ny grupp när dess värde ändras. Du måste ange en egenskap eller ett skript för att starta gruppen, men du kan inte ange båda.

  • ScriptBlock-elementet anger det skript som startar en ny grupp när dess värde ändras. Du måste ange ett skript eller en egenskap för att starta gruppen, men du kan inte ange båda.

  • Elementet Etikett definierar en etikett som visas i början av varje grupp. Förutom den text som anges av det här elementet Windows PowerShell värdet som utlöste den nya gruppen och lägger till en tom rad före och efter etiketten. Det här elementet är valfritt.

  • CustomControl-elementet definierar en kontroll som används för att visa data. Det här elementet är valfritt.

  • CustomControlName-elementet anger en gemensam kontroll eller vykontroll som används för att visa data. Det här elementet är valfritt.

Ett exempel på en fullständig formateringsfil som definierar grupper finns i Wide View (GroupBy).

Använda formatsträngar

Formateringssträngar kan läggas till i en bred vy för att ytterligare definiera hur data ska visas. I följande exempel visas hur du definierar en formateringssträng för värdet för StartTime egenskapen .

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

Följande XML-element kan användas för att ange ett formatmönster:

  • Elementet WideItem anger de data som visas i vyn.

  • Elementet PropertyName anger den egenskap vars värde visas i vyn. Du måste ange antingen en egenskap eller ett skript, men du kan inte ange båda.

  • FormatString-elementet anger ett formatmönster som definierar hur egenskapen eller skriptvärdet visas i vyn

  • ScriptBlock-elementet (visas inte) anger det skript vars värde visas i vyn. Du måste ange antingen ett skript eller en egenskap, men du kan inte ange båda.

I följande exempel ToString anropas metoden för att formatera värdet för skriptet. Skript kan anropa valfri metod för ett objekt. Om ett objekt har en -metod, till exempel , som har formateringsparametrar, kan skriptet därför anropa den metoden för att formatera ToString utdatavärdet för skriptet.

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

Följande XML-element kan användas för att anropa ToString metoden :

  • Elementet WideItem anger de data som visas i vyn.

  • ScriptBlock-elementet (visas inte) anger det skript vars värde visas i vyn. Du måste ange antingen ett skript eller en egenskap, men du kan inte ange båda.

Se även

Bred vy (grundläggande)

Bred vy (gruppbaserad)

Skriva en PowerShell-formateringsfil