Delen via


Een lijstweergave maken

In een lijstweergave worden gegevens in één kolom weergegeven (in opeenvolgende volgorde). De gegevens die in de lijst worden weergegeven, kunnen de waarde zijn van een .NET-eigenschap of de waarde van een script.

Een lijstweergave

In de volgende uitvoer ziet u hoe Windows PowerShell de eigenschappen van System.ServiceProcess.ServiceController objecten weergeeft die worden geretourneerd door de cmdlet Get-Service. In dit voorbeeld zijn er drie objecten geretourneerd, waarbij elk object is gescheiden van het voorgaande object door een lege regel.

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

De lijstweergave definiëren

In de volgende XML ziet u het schema van de lijstweergave voor het weergeven van verschillende eigenschappen van het System.ServiceProcess.ServiceController-object. U moet elke eigenschap opgeven die u wilt weergeven in de lijstweergave.

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

De volgende XML-elementen worden gebruikt om een lijstweergave te definiëren:

  • Het element Weergave is het bovenliggende element van de lijstweergave. (Dit is hetzelfde bovenliggende element voor de tabel-, brede en aangepaste besturingsweergaven.)

  • Het element Name geeft de naam van de weergave op. Dit element is vereist voor alle weergaven.

  • Het element ViewSelectedBy definieert de objecten die de weergave gebruiken. Dit element is vereist.

  • Het element GroupBy definieert wanneer een nieuwe groep objecten wordt weergegeven. Er wordt een nieuwe groep gestart wanneer de waarde van een specifieke eigenschap of script wordt gewijzigd. Dit element is optioneel.

  • Het element Besturingselementen definieert de aangepaste besturingselementen die door de lijstweergave worden gedefinieerd. Met besturingselementen kunt u verder opgeven hoe de gegevens worden weergegeven. Dit element is optioneel. Een weergave kan eigen aangepaste besturingselementen definiëren, maar ook algemene besturingselementen gebruiken die door elke weergave in het opmaakbestand kunnen worden gebruikt. Zie Aangepaste besturingselementen makenvoor meer informatie over aangepaste besturingselementen.

  • Het element ListControl definieert wat er in de weergave wordt weergegeven en hoe het wordt opgemaakt. Net als bij alle andere weergaven kan een lijstweergave de waarden van objecteigenschappen of waarden weergeven die zijn gegenereerd door een script.

Zie Lijstweergave (Basic)voor een voorbeeld van een volledig opmaakbestand dat een eenvoudige lijstweergave definieert.

Definities instellen voor uw lijstweergave

Lijstweergaven kunnen een of meer definities bieden met behulp van de onderliggende elementen van het ListControl-element. Normaal gesproken heeft een weergave slechts één definitie. In het volgende voorbeeld bevat de weergave één definitie die verschillende eigenschappen van het object System.Diagnostics.Process weergeeft. Een lijstweergave kan de waarde van een eigenschap of de waarde van een script weergeven (niet weergegeven in het voorbeeld).

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

De volgende XML-elementen kunnen worden gebruikt om definities voor een lijstweergave op te geven:

  • Het element ListControl en de onderliggende elementen bepalen wat er in de weergave wordt weergegeven.

  • Het element ListEntries bevat de definities van de weergave. In de meeste gevallen heeft een weergave slechts één definitie. Dit element is vereist.

  • Het element ListEntry biedt een definitie van de weergave. Ten minste één ListEntry- is vereist; er is echter geen maximumlimiet voor het aantal elementen dat u kunt toevoegen. In de meeste gevallen heeft een weergave slechts één definitie.

  • Het element EntrySelectedBy geeft de objecten op die door een specifieke definitie worden weergegeven. Dit element is optioneel en is alleen nodig wanneer u meerdere ListEntry elementen definieert die verschillende objecten weergeven.

  • Het element ListItems geeft de eigenschappen en scripts op waarvan de waarden worden weergegeven in de rijen van de lijstweergave.

  • Het element ListItem geeft een eigenschap of script op waarvan de waarde wordt weergegeven in een rij van de lijstweergave. Een lijstweergave moet ten minste één eigenschap of script opgeven. Er is geen maximumlimiet voor het aantal rijen dat kan worden opgegeven.

  • Het PropertyName element geeft de eigenschap op waarvan de waarde in de rij wordt weergegeven. U moet een eigenschap of een script opgeven, maar u kunt beide niet opgeven.

  • Het element ScriptBlock geeft het script op waarvan de waarde in de rij wordt weergegeven. U moet een script of een eigenschap opgeven, maar u kunt beide niet opgeven.

  • Het element Label geeft het label aan dat links van de eigenschap of scriptwaarde in de rij wordt weergegeven. Dit element is optioneel. Als er geen label is opgegeven, wordt de naam van de eigenschap of het script weergegeven. Zie lijstweergave (labels)voor een volledig voorbeeld.

  • Het element ItemSelectionCondition geeft een voorwaarde op die moet bestaan om de rij weer te geven. Zie Voorwaarden definiëren voor het weergeven van gegevensvoor meer informatie over het toevoegen van voorwaarden aan de lijstweergave. Dit element is optioneel.

  • Het element FormatString geeft een patroon op dat wordt gebruikt om de waarde van de eigenschap of het script weer te geven. Dit element is optioneel.

Zie Lijstweergave (Basic)voor een voorbeeld van een volledig opmaakbestand dat een eenvoudige lijstweergave definieert.

De objecten definiëren die gebruikmaken van de lijstweergave

Er zijn twee manieren om te definiëren welke .NET-objecten de lijstweergave gebruiken. U kunt het element ViewSelectedBy gebruiken om de objecten te definiëren die door alle definities van de weergave kunnen worden weergegeven, of u kunt het element EntrySelectedBy gebruiken om te definiëren welke objecten worden weergegeven door een specifieke definitie van de weergave. In de meeste gevallen heeft een weergave slechts één definitie, dus objecten worden doorgaans gedefinieerd door het element ViewSelectedBy.

In het volgende voorbeeld ziet u hoe u de objecten definieert die door de lijstweergave worden weergegeven met behulp van de elementen ViewSelectedBy en TypeName elementen. Er is geen limiet voor het aantal TypeName elementen die u kunt opgeven en hun volgorde is niet significant.

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

De volgende XML-elementen kunnen worden gebruikt om de objecten op te geven die door de lijstweergave worden gebruikt:

  • Het element ViewSelectedBy bepaalt welke objecten worden weergegeven door de lijstweergave.

  • Het element TypeName geeft het .NET-object op dat door de weergave wordt weergegeven. De volledig gekwalificeerde .NET-typenaam is vereist. U moet ten minste één type of selectie opgeven dat is ingesteld voor de weergave, maar er is geen maximum aantal elementen dat kan worden opgegeven.

Zie Lijstweergave (Basic)voor een voorbeeld van een volledig opmaakbestand.

In het volgende voorbeeld worden de elementen ViewSelectedBy en SelectionSetName gebruikt. Gebruik selectiesets waarin u een gerelateerde set objecten hebt die worden weergegeven met meerdere weergaven, zoals wanneer u een lijstweergave en een tabelweergave voor dezelfde objecten definieert. Zie Selectiesets definiërenvoor meer informatie over het maken van een selectieset.

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

De volgende XML-elementen kunnen worden gebruikt om de objecten op te geven die door de lijstweergave worden gebruikt:

  • Het element ViewSelectedBy bepaalt welke objecten worden weergegeven door de lijstweergave.

  • Het element SelectionSetName geeft een set objecten op die door de weergave kunnen worden weergegeven. U moet ten minste één selectieset of type opgeven voor de weergave, maar er is geen maximum aantal elementen dat kan worden opgegeven.

In het volgende voorbeeld ziet u hoe u de objecten definieert die worden weergegeven door een specifieke definitie van de lijstweergave met behulp van het element EntrySelectedBy. Met dit element kunt u de .NET-typenaam van het object, een selectieset objecten of een selectievoorwaarde opgeven die aangeeft wanneer de definitie wordt gebruikt. Zie Voorwaarden definiëren voor het weergeven van gegevensvoor meer informatie over het maken van een selectievoorwaarden.

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

De volgende XML-elementen kunnen worden gebruikt om de objecten op te geven die worden gebruikt door een specifieke definitie van de lijstweergave:

  • Het element EntrySelectedBy bepaalt welke objecten door de definitie worden weergegeven.

  • Het element TypeName geeft het .NET-object op dat door de definitie wordt weergegeven. Wanneer u dit element gebruikt, is de volledig gekwalificeerde .NET-typenaam vereist. U moet ten minste één type, selectieset of selectievoorwaarde voor de definitie opgeven, maar er is geen maximum aantal elementen dat kan worden opgegeven.

  • De SelectionSetName element (niet weergegeven) geeft een set objecten op die door deze definitie kunnen worden weergegeven. U moet ten minste één type, selectieset of selectievoorwaarde voor de definitie opgeven, maar er is geen maximum aantal elementen dat kan worden opgegeven.

  • Het element SelectionCondition (niet weergegeven) geeft een voorwaarde op die moet bestaan voor deze definitie die moet worden gebruikt. U moet ten minste één type, selectieset of selectievoorwaarde voor de definitie opgeven, maar er is geen maximum aantal elementen dat kan worden opgegeven. Zie Voorwaarden definiëren voor het weergeven van gegevensvoor meer informatie over het definiëren van selectievoorwaarden.

Groepen objecten weergeven in een lijstweergave

U kunt de objecten die door de lijstweergave worden weergegeven, scheiden in groepen. Dit betekent niet dat u een groep definieert, alleen dat Windows PowerShell een nieuwe groep start wanneer de waarde van een specifieke eigenschap of script wordt gewijzigd. In het volgende voorbeeld wordt een nieuwe groep gestart wanneer de waarde van de eigenschap System.ServiceProcess.ServiceController.ServiceType wordt gewijzigd.

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

De volgende XML-elementen worden gebruikt om te definiëren wanneer een groep wordt gestart:

  • Het element GroupBy definieert de eigenschap of het script waarmee de nieuwe groep wordt gestart en definieert hoe de groep wordt weergegeven.

  • Het element PropertyName geeft de eigenschap op die een nieuwe groep start wanneer de waarde wordt gewijzigd. U moet een eigenschap of script opgeven om de groep te starten, maar u kunt beide niet opgeven.

  • Het element ScriptBlock geeft het script op dat een nieuwe groep start wanneer de waarde wordt gewijzigd. U moet een script of eigenschap opgeven om de groep te starten, maar u kunt beide niet opgeven.

  • Het element Label definieert een label dat aan het begin van elke groep wordt weergegeven. Naast de tekst die door dit element is opgegeven, geeft Windows PowerShell de waarde weer die de nieuwe groep heeft geactiveerd en voegt een lege regel toe vóór en na het label. Dit element is optioneel.

  • Het element CustomControl definieert een besturingselement dat wordt gebruikt om de gegevens weer te geven. Dit element is optioneel.

  • Het element CustomControlName geeft een algemeen besturingselement of weergavebeheer op dat wordt gebruikt om de gegevens weer te geven. Dit element is optioneel.

Zie Lijstweergave (GroupBy)voor een voorbeeld van een volledig opmaakbestand dat groepen definieert.

Tekenreeksen opmaken

Opmaaktekenreeksen kunnen worden toegevoegd aan een weergave om verder te definiëren hoe de gegevens worden weergegeven. In het volgende voorbeeld ziet u hoe u een opmaaktekenreeks definieert voor de waarde van de eigenschap StartTime.

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

De volgende XML-elementen kunnen worden gebruikt om een opmaakpatroon op te geven:

  • Het element ListItem geeft de gegevens op die door de weergave worden weergegeven.

  • Het element PropertyName geeft de eigenschap op waarvan de waarde wordt weergegeven door de weergave. U moet een eigenschap of een script opgeven, maar u kunt beide niet opgeven.

  • Het element FormatString geeft een indelingspatroon op waarmee wordt gedefinieerd hoe de eigenschap of scriptwaarde wordt weergegeven in de weergave.

  • Het ScriptBlock element (niet weergegeven) geeft het script op waarvan de waarde wordt weergegeven door de weergave. U moet een script of een eigenschap opgeven, maar u kunt beide niet opgeven.

In het volgende voorbeeld wordt de methode ToString aangeroepen om de waarde van het script op te maken. Scripts kunnen elke methode van een object aanroepen. Als een object dus een methode heeft, zoals ToString, met opmaakparameters, kan het script die methode aanroepen om de uitvoerwaarde van het script op te maken.

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

Het volgende XML-element kan worden gebruikt om de methode ToString aan te roepen:

  • Het element ListItem geeft de gegevens op die door de weergave worden weergegeven.

  • Het ScriptBlock element (niet weergegeven) geeft het script op waarvan de waarde wordt weergegeven door de weergave. U moet een script of een eigenschap opgeven, maar u kunt beide niet opgeven.

Zie ook

Een Windows PowerShell-cmdlet schrijven