Delen via


Een tabelweergave maken

In een tabelweergave worden gegevens in een of meer kolommen weergegeven. Elke rij in de tabel vertegenwoordigt een .NET-object en elke kolom van de tabel vertegenwoordigt een eigenschap van het object of een scriptwaarde. U kunt een tabelweergave definiëren waarin alle eigenschappen van een object of een subset van de eigenschappen van een object worden weergegeven.

Een tabelweergave

In het volgende voorbeeld ziet u hoe Windows PowerShell het System.ServiceProcess.ServiceController-object weergeeft dat wordt geretourneerd door de cmdlet Get-Service. Voor dit object heeft Windows PowerShell een tabelweergave gedefinieerd waarin de eigenschap Status, de eigenschap Name (deze eigenschap is een aliaseigenschap voor de eigenschap ServiceName) en de eigenschap DisplayName. Elke rij in de tabel vertegenwoordigt een object dat wordt geretourneerd door de cmdlet.

Status   Name               DisplayName
------   ----               -----------
Stopped  AJRouter           AllJoyn Router Service
Stopped  ALG                Application Layer Gateway Service
Stopped  AppIDSvc           Application Identity
Running  Appinfo            Application Information

De tabelweergave definiëren

In de volgende XML ziet u het tabelweergaveschema voor het weergeven van het object System.ServiceProcess.ServiceController. U moet elke eigenschap opgeven die u wilt weergeven in de tabelweergave.

<View>
  <Name>service</Name>
  <ViewSelectedBy>
    <TypeName>System.ServiceProcess.ServiceController</TypeName>
  </ViewSelectedBy>
  <TableControl>
    <TableHeaders>
      <TableColumnHeader>
        <Width>8</Width>
      </TableColumnHeader>
      <TableColumnHeader>
        <Width>18</Width>
      </TableColumnHeader>
      <TableColumnHeader>
        <Width>38</Width>
      </TableColumnHeader>
    </TableHeaders>
    <TableRowEntries>
      <TableRowEntry>
        <TableColumnItems>
          <TableColumnItem>
           <PropertyName>Status</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>Name</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>DisplayName</PropertyName>
          </TableColumnItem>
        </TableColumnItems>
      </TableRowEntry>
    </TableRowEntries>
  </TableControl>
</View>

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

  • Het element weergave is het bovenliggende element van de tabelweergave. (Dit is hetzelfde bovenliggende element voor de lijst-, 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 (niet in dit voorbeeld) 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 (niet in dit voorbeeld) definieert de aangepaste besturingselementen die door de tabelweergave 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.

  • De HideTableHeaders element (niet weergegeven in dit voorbeeld) geeft aan dat de tabel geen labels boven aan de tabel weergeeft. Dit element is optioneel.

  • Het element TableControl waarmee de veldnamen- en rijgegevens van de tabel worden gedefinieerd. Net als bij alle andere weergaven kan een tabelweergave de waarden van objecteigenschappen of waarden weergeven die door scripts worden gegenereerd.

Kolomkoppen definiëren

  1. De TableHeaders element en de onderliggende elementen bepalen wat boven aan de tabel wordt weergegeven.

  2. Het element TableColumnHeader definieert wat boven aan een kolom van de tabel wordt weergegeven. Geef deze elementen op in de volgorde waarin u de kopteksten wilt weergeven.

    Er is geen limiet voor het aantal elementen dat u kunt gebruiken, maar het aantal TableColumnHeader elementen in de tabelweergave moet gelijk zijn aan het aantal TableRowEntry elementen die u gebruikt.

  3. Het element Label geeft de tekst op die wordt weergegeven. Dit element is optioneel.

  4. Het element Width geeft de breedte (in tekens) van de kolom aan. Dit element is optioneel.

  5. Het uitlijningselement geeft aan hoe het label wordt weergegeven. Het label kan links, rechts of gecentreerd worden uitgelijnd. Dit element is optioneel.

De tabelrijen definiëren

Tabelweergaven kunnen een of meer definities bevatten die aangeven welke gegevens worden weergegeven in de rijen van de tabel met behulp van de onderliggende elementen van het TableRowEntries-element. U kunt meerdere definities opgeven voor de rijen van de tabel, maar de koppen voor de rijen blijven hetzelfde, ongeacht welke rijdefinitie wordt gebruikt. Normaal gesproken heeft een tabel slechts één definitie.

In het volgende voorbeeld bevat de weergave één definitie die de waarden van verschillende eigenschappen van het System.Diagnostics.Process object weergeeft. In een tabelweergave kan de waarde van een eigenschap of de waarde van een script (niet in het voorbeeld) in de rijen worden weergegeven.

<TableRowEntries>
      <TableRowEntry>
        <TableColumnItems>
          <TableColumnItem>
           <PropertyName>Status</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>Name</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>DisplayName</PropertyName>
          </TableColumnItem>
        </TableColumnItems>
      </TableRowEntry>
    </TableRowEntries>

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

  • Het TableRowEntries-element en de onderliggende elementen bepalen wat wordt weergegeven in de rijen van de tabel.

  • Het element TableRowEntry biedt een definitie van de rij. Ten minste één TableRowEntry- 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 TableRowEntry elementen definieert die verschillende objecten weergeven.

  • Het element Wrap geeft aan dat tekst die de kolombreedte overschrijdt, wordt weergegeven op de volgende regel. Tekst die de kolombreedte overschrijdt, wordt standaard afgekapt.

  • Het element TableColumnItems definieert de eigenschappen of scripts waarvan de waarden in de rij worden weergegeven.

  • Het element TableColumnItem definieert de eigenschap of het script waarvan de waarde wordt weergegeven in de kolom van de rij. Een TableColumnItem element is vereist voor elke kolom van de rij. Het eerste item wordt weergegeven in de eerste kolom, de tweede vermelding in de tweede kolom, enzovoort.

  • 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 FormatString geeft een indelingspatroon op waarmee wordt gedefinieerd hoe de eigenschap of scriptwaarde wordt weergegeven. Dit element is optioneel.

  • Het uitlijningselement geeft aan hoe de waarde van de eigenschap of het script wordt weergegeven. De waarde kan links, rechts of gecentreerd worden uitgelijnd. Dit element is optioneel.

De objecten definiëren die de tabelweergave gebruiken

Er zijn twee manieren om te definiëren welke .NET-objecten de tabelweergave 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 tabelweergave worden weergegeven met behulp van de 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.ServiceProcess.ServiceController</TypeName>
  </ViewSelectedBy>
  <TableControl>...</TableControl>
</View>

De volgende XML-elementen kunnen worden gebruikt om de objecten op te geven die door de tabelweergave 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.

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>
  <TableControl>...</TableControl>
</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 tabelweergave 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.

Notitie

Wanneer u meerdere definities van de tabelweergave maakt, kunt u geen verschillende kolomkoppen opgeven. U kunt alleen opgeven wat wordt weergegeven in de rijen van de tabel, zoals welke objecten worden weergegeven.

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

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.

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.

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

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

  • Het element TableColumnItem definieert de eigenschap of het script waarvan de waarde wordt weergegeven in de kolom van de rij. Een TableColumnItem element is vereist voor elke kolom van de rij. Het eerste item wordt weergegeven in de eerste kolom, de tweede vermelding in de tweede kolom, enzovoort.

  • 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 FormatString geeft een indelingspatroon op waarmee wordt gedefinieerd hoe de eigenschap of scriptwaarde wordt weergegeven.

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 TableColumnItem definieert de eigenschap of het script waarvan de waarde wordt weergegeven in de kolom van de rij. Een TableColumnItem element is vereist voor elke kolom van de rij. Het eerste item wordt weergegeven in de eerste kolom, de tweede vermelding in de tweede kolom, enzovoort.

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

Zie ook

een PowerShell-opmaakbestand schrijven