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 die alle eigenschappen van een object of een subset van de eigenschappen van een object we weergeven.

Een weergave van een tabelweergave

In het volgende voorbeeld ziet Windows PowerShell het object System.Serviceprocess.Servicecontroller wordt weergegeven dat wordt geretourneerd door de cmdlet Get-Service. Voor dit object heeft Windows PowerShell een tabelweergave gedefinieerd die de eigenschap, de eigenschap (deze eigenschap is een alias-eigenschap voor de eigenschap) en Status Name de eigenschap ServiceName DisplayName bevat. 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

De volgende XML toont het tabelweergaveschema voor het weergeven van system.Serviceprocess.Servicecontroller? Displayproperty=Fullname-object. 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 weergaven lijst, breed en aangepast besturingselement.)

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

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

  • Het element GroupBy (niet weergegeven 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 weergegeven in dit voorbeeld) definieert de aangepaste besturingselementen die zijn gedefinieerd door de tabelweergave. Besturingselementen bieden u een manier om verder op te geven hoe de gegevens worden weergegeven. Dit element is optioneel. Een weergave kan zijn eigen aangepaste besturingselementen definiëren of algemene besturingselementen gebruiken die door elke weergave in het opmaakbestand kunnen worden gebruikt. Zie Aangepaste besturingselementen maken voor meer informatie over aangepaste besturingselementen.

  • Het element HideTableHeaders (niet in dit voorbeeld weergeven) geeft aan dat de tabel geen labels aan de bovenkant van de tabel zal weergeven. Dit element is optioneel.

  • Het element TableControl dat de header- en rijgegevens van de tabel definieert. Net als bij alle andere weergaven kunnen in een tabelweergave de waarden worden weergegeven van objecteigenschappen of waarden die door scripts worden gegenereerd.

Kolomkoppen definiëren

  1. Het element TableHeaders en de onderliggende elementen definiëren wat bovenaan de tabel wordt weergegeven.

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

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

  3. Het element Label geeft de tekst aan 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 element Uitlijning geeft aan hoe het label wordt weergegeven. Het label kan worden uitgelijnd aan de linkerkant, rechts of gecentreerd. Dit element is optioneel.

De tabelrijen definiëren

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

In het volgende voorbeeld biedt de weergave één definitie waarin de waarden van verschillende eigenschappen van System.Diagnostics.Process worden weergegeven. Displayproperty=Fullname-object. In een tabelweergave kan de waarde van een eigenschap of de waarde van een script (niet weergegeven 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 element TableRowEntries en de onderliggende elementen definiëren wat er wordt weergegeven in de rijen van de tabel.

  • Het element TableRowEntry biedt een definitie van de rij. Er is ten minste één TableRowEntry 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 specificeert de objecten die worden weergegeven door een specifieke definitie. 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. De eerste vermelding wordt weergegeven in de eerste kolom, de tweede in de tweede kolom, en meer.

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

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

  • Het element FormatString geeft een indelingspatroon op dat definieert hoe de eigenschap of scriptwaarde wordt weergegeven. Dit element is optioneel.

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

De objecten definiëren die gebruikmaken van de tabelweergave

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 kunnen worden weergegeven door alle definities van de weergave, 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, waardoor objecten doorgaans worden 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 elementen ViewSelectedBy en TypeName. Er is geen limiet voor het aantal TypeName-elementen dat u kunt opgeven en de volgorde is niet belangrijk.

<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 definieert welke objecten door de lijstweergave worden weergegeven.

  • 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 selectieset opgeven 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 waarbij u een gerelateerde set objecten hebt die worden weergegeven met behulp van meerdere weergaven, zoals wanneer u een lijstweergave en een tabelweergave voor dezelfde objecten definieert. Zie Selectiesets definiëren voor 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 worden gebruikt door de lijstweergave:

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

  • 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 gegevens voor 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 er 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 definieert 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 opgeven voor de definitie, maar er is geen maximum aantal elementen dat kan worden opgegeven.

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

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

Opmaakreeksen gebruiken

Opmaakreeksen 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 opmaakreeks voor de waarde van de eigenschap StartTime definieert.

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

De volgende XML-elementen kunnen worden gebruikt om een indelingspatroon 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. De eerste vermelding wordt weergegeven in de eerste kolom, de tweede in de tweede kolom, en meer.

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

  • Het element FormatString geeft een indelingspatroon op dat definieert hoe de eigenschap of scriptwaarde wordt weergegeven.

In het volgende voorbeeld wordt de ToString methode aangeroepen om de waarde van het script op te maken. Scripts kunnen elke methode van een object aanroepen. Als een object daarom een methode heeft, zoals , die opmaakparameters heeft, kan het script die methode aanroepen om de uitvoerwaarde van het ToString 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 aan te ToString 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. De eerste vermelding wordt weergegeven in de eerste kolom, de tweede in de tweede kolom, en meer.

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

Zie ook

Een PowerShell-opmaakbestand schrijven