Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In einer Tabellenansicht werden Daten in einer oder mehreren Spalten angezeigt. Jede Zeile in der Tabelle stellt ein .NET-Objekt dar, und jede Spalte der Tabelle stellt eine Eigenschaft des Objekts oder eines Skriptwerts dar. Sie können eine Tabellenansicht definieren, die alle Eigenschaften eines Objekts oder eine Teilmenge der Eigenschaften eines Objekts anzeigt.
Anzeige einer Tabellenansicht
Das folgende Beispiel zeigt, wie Windows PowerShell das System.ServiceProcess.ServiceController--Objekt anzeigt, das vom Cmdlet Get-Service zurückgegeben wird. Für dieses Objekt hat Windows PowerShell eine Tabellenansicht definiert, in der die Status
-Eigenschaft, die Name
-Eigenschaft (diese Eigenschaft ist eine Aliaseigenschaft für die ServiceName
-Eigenschaft) und die DisplayName
-Eigenschaft angezeigt wird. Jede Zeile in der Tabelle stellt ein objekt dar, das vom Cmdlet zurückgegeben wird.
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
Stopped AppIDSvc Application Identity
Running Appinfo Application Information
Definieren der Tabellenansicht
Der folgende XML-Code zeigt das Tabellenansichtsschema zum Anzeigen des System.ServiceProcess.ServiceController--Objekts. Sie müssen jede Eigenschaft angeben, die in der Tabellenansicht angezeigt werden soll.
<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>
Die folgenden XML-Elemente werden verwendet, um eine Listenansicht zu definieren:
Das View-Element ist das übergeordnete Element der Tabellenansicht. (Dies ist dasselbe übergeordnete Element für die Listen-, Breiten- und benutzerdefinierten Steuerelementansichten.)
Das Name--Element gibt den Namen der Ansicht an. Dieses Element ist für alle Ansichten erforderlich.
Das ViewSelectedBy-Element definiert die Objekte, die die Ansicht verwenden. Dieses Element ist erforderlich.
Das GroupBy-Element (nicht in diesem Beispiel gezeigt) definiert, wenn eine neue Gruppe von Objekten angezeigt wird. Eine neue Gruppe wird gestartet, wenn sich der Wert einer bestimmten Eigenschaft oder eines bestimmten Skripts ändert. Dieses Element ist optional.
Das Controls-Element (nicht in diesem Beispiel gezeigt) definiert die benutzerdefinierten Steuerelemente, die von der Tabellenansicht definiert werden. Mithilfe von Steuerelementen können Sie weiter angeben, wie die Daten angezeigt werden. Dieses Element ist optional. Eine Ansicht kann eigene benutzerdefinierte Steuerelemente definieren oder allgemeine Steuerelemente verwenden, die von jeder Ansicht in der Formatierungsdatei verwendet werden können. Weitere Informationen zu benutzerdefinierten Steuerelementen finden Sie unter Erstellen von benutzerdefinierten Steuerelementen.
Das HideTableHeaders-Element (in diesem Beispiel nicht dargestellt) gibt an, dass in der Tabelle keine Beschriftungen oben in der Tabelle angezeigt werden. Dieses Element ist optional.
Das TableControl Element, das die Kopf- und Zeileninformationen der Tabelle definiert. Ähnlich wie bei allen anderen Ansichten kann eine Tabellenansicht die Werte von Objekteigenschaften oder von Skripts generierten Werten anzeigen.
Definieren von Spaltenüberschriften
Das TableHeaders Element und seine untergeordneten Elemente definieren, was oben in der Tabelle angezeigt wird.
Das TableColumnHeader--Element definiert, was oben in einer Spalte der Tabelle angezeigt wird. Geben Sie diese Elemente in der Reihenfolge an, in der die Kopfzeilen angezeigt werden sollen.
Es gibt keine Beschränkung auf die Anzahl dieser Elemente, die Sie verwenden können, aber die Anzahl der TableColumnHeader- Elemente in der Tabellenansicht muss der Anzahl der TableRowEntry- Elemente entsprechen, die Sie verwenden.
Das Label-Element gibt den angezeigten Text an. Dieses Element ist optional.
Das Width-Element gibt die Breite (in Zeichen) der Spalte an. Dieses Element ist optional.
Das Alignment-Element gibt an, wie die Beschriftung angezeigt wird. Die Beschriftung kann links, rechts oder zentriert ausgerichtet werden. Dieses Element ist optional.
Definieren der Tabellenzeilen
Tabellenansichten können eine oder mehrere Definitionen bereitstellen, die angeben, welche Daten in den Zeilen der Tabelle angezeigt werden, indem die untergeordneten Elemente des TableRowEntries-Element verwendet werden. Beachten Sie, dass Sie mehrere Definitionen für die Zeilen der Tabelle angeben können, aber die Überschriften für die Zeilen bleiben gleich, unabhängig davon, welche Zeilendefinition verwendet wird. In der Regel verfügt eine Tabelle nur über eine Definition.
Im folgenden Beispiel stellt die Ansicht eine einzelne Definition bereit, die die Werte mehrerer Eigenschaften des System.Diagnostics.Process--Objekts anzeigt. Eine Tabellenansicht kann den Wert einer Eigenschaft oder den Wert eines Skripts (nicht im Beispiel gezeigt) in den Zeilen anzeigen.
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Status</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>DisplayName</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
Die folgenden XML-Elemente können verwendet werden, um Definitionen für eine Zeile bereitzustellen:
Das TableRowEntries Element und seine untergeordneten Elemente definieren, was in den Zeilen der Tabelle angezeigt wird.
Das TableRowEntry--Element stellt eine Definition der Zeile bereit. Mindestens ein TableRowEntry- ist erforderlich; Es gibt jedoch keinen Grenzwert für die Anzahl der Elemente, die Sie hinzufügen können. In den meisten Fällen verfügt eine Ansicht nur über eine Definition.
Das EntrySelectedBy-Element gibt die Objekte an, die von einer bestimmten Definition angezeigt werden. Dieses Element ist optional und wird nur benötigt, wenn Sie mehrere TableRowEntry- Elemente definieren, die unterschiedliche Objekte anzeigen.
Das Wrap-Element gibt an, dass Text, der die Spaltenbreite überschreitet, in der nächsten Zeile angezeigt wird. Standardmäßig wird Text, der die Spaltenbreite überschreitet, abgeschnitten.
Das TableColumnItems-Element definiert die Eigenschaften oder Skripts, deren Werte in der Zeile angezeigt werden.
Das TableColumnItem--Element definiert die Eigenschaft oder das Skript, deren Wert in der Spalte der Zeile angezeigt wird. Für jede Spalte der Zeile ist ein TableColumnItem--Element erforderlich. Der erste Eintrag wird in der ersten Spalte, dem zweiten Eintrag in der zweiten Spalte usw. angezeigt.
Das PropertyName-Element gibt die Eigenschaft an, deren Wert in der Zeile angezeigt wird. Sie müssen entweder eine Eigenschaft oder ein Skript angeben, aber sie können beides nicht angeben.
Das ScriptBlock--Element gibt das Skript an, dessen Wert in der Zeile angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können beides nicht angeben.
Das FormatString--Element gibt ein Formatmuster an, das definiert, wie die Eigenschaft oder der Skriptwert angezeigt wird. Dieses Element ist optional.
Das Alignment-Element gibt an, wie der Wert der Eigenschaft oder des Skripts angezeigt wird. Der Wert kann links, rechts oder zentriert ausgerichtet werden. Dieses Element ist optional.
Definieren der Objekte, die die Tabellenansicht verwenden
Es gibt zwei Möglichkeiten, zu definieren, welche .NET-Objekte die Tabellenansicht verwenden. Sie können das ViewSelectedBy-Element verwenden, um die Objekte zu definieren, die von allen Definitionen der Ansicht angezeigt werden können, oder Sie können das EntrySelectedBy-Element verwenden, um zu definieren, welche Objekte durch eine bestimmte Definition der Ansicht angezeigt werden. In den meisten Fällen weist eine Ansicht nur eine Definition auf, sodass Objekte normalerweise vom ViewSelectedBy-Element definiert werden.
Das folgende Beispiel zeigt, wie Sie die Objekte definieren, die von der Tabellenansicht mithilfe der ViewSelectedBy- und TypeName--Elemente angezeigt werden. Es gibt keine Beschränkung auf die Anzahl der TypeName- Elemente, die Sie angeben können, und deren Reihenfolge ist nicht signifikant.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Tabellenansicht verwendet werden:
Das ViewSelectedBy-Element definiert, welche Objekte von der Listenansicht angezeigt werden.
Das TypeName-Element gibt das .NET-Objekt an, das von der Ansicht angezeigt wird. Der vollqualifizierte .NET-Typname ist erforderlich. Sie müssen mindestens einen Typ oder einen Auswahlsatz für die Ansicht angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.
Im folgenden Beispiel werden die elemente ViewSelectedBy und SelectionSetName verwendet. Verwenden Sie Auswahlsätze, bei denen Sie über einen verwandten Satz von Objekten verfügen, die mit mehreren Ansichten angezeigt werden, z. B. wenn Sie eine Listenansicht und eine Tabellenansicht für dieselben Objekte definieren. Weitere Informationen zum Erstellen eines Auswahlsatzes finden Sie unter Definieren von Auswahlsätzen.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von der Listenansicht verwendet werden:
Das ViewSelectedBy-Element definiert, welche Objekte von der Listenansicht angezeigt werden.
Das SelectionSetName-Element gibt einen Satz von Objekten an, die von der Ansicht angezeigt werden können. Sie müssen mindestens einen Auswahlsatz oder -typ für die Ansicht angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.
Im folgenden Beispiel wird gezeigt, wie die Objekte definiert werden, die mithilfe des EntrySelectedBy-Elements angezeigt werden, die mithilfe einer bestimmten Definition der Tabellenansicht angezeigt werden. Mithilfe dieses Elements können Sie den .NET-Typnamen des Objekts, einen Auswahlsatz von Objekten oder eine Auswahlbedingung angeben, die angibt, wann die Definition verwendet wird. Weitere Informationen zum Erstellen einer Auswahlbedingungen finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten.
Hinweis
Beim Erstellen mehrerer Definitionen der Tabellenansicht können Sie keine unterschiedlichen Spaltenüberschriften angeben. Sie können nur angeben, was in den Zeilen der Tabelle angezeigt wird, z. B. welche Objekte angezeigt werden.
<TableRowEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</TableRowEntry>
Die folgenden XML-Elemente können verwendet werden, um die Objekte anzugeben, die von einer bestimmten Definition der Listenansicht verwendet werden:
Das EntrySelectedBy-Element definiert, welche Objekte durch die Definition angezeigt werden.
Das TypeName-Element gibt das .NET-Objekt an, das von der Definition angezeigt wird. Bei Verwendung dieses Elements ist der vollqualifizierte .NET-Typname erforderlich. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.
Das SelectionSetName-Element (nicht dargestellt) gibt einen Satz von Objekten an, die von dieser Definition angezeigt werden können. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können.
Das SelectionCondition--Element (nicht dargestellt) gibt eine Bedingung an, die für diese Definition verwendet werden muss. Sie müssen mindestens einen Typ, einen Auswahlsatz oder eine Auswahlbedingung für die Definition angeben, es gibt jedoch keine maximale Anzahl von Elementen, die angegeben werden können. Weitere Informationen zum Definieren von Auswahlbedingungen finden Sie unter Definieren von Bedingungen zum Anzeigen von Daten.
Verwenden von Formatzeichenfolgen
Formatierungszeichenfolgen können einer Ansicht hinzugefügt werden, um weiter zu definieren, wie die Daten angezeigt werden. Das folgende Beispiel zeigt, wie Sie eine Formatierungszeichenfolge für den Wert der eigenschaft StartTime
definieren.
<TableColumnItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</TableColumnItem>
Die folgenden XML-Elemente können verwendet werden, um ein Formatmuster anzugeben:
Das TableColumnItem--Element definiert die Eigenschaft oder das Skript, deren Wert in der Spalte der Zeile angezeigt wird. Für jede Spalte der Zeile ist ein TableColumnItem--Element erforderlich. Der erste Eintrag wird in der ersten Spalte, dem zweiten Eintrag in der zweiten Spalte usw. angezeigt.
Das PropertyName-Element gibt die Eigenschaft an, deren Wert in der Zeile angezeigt wird. Sie müssen entweder eine Eigenschaft oder ein Skript angeben, aber sie können beides nicht angeben.
Das FormatString--Element gibt ein Formatmuster an, das definiert, wie die Eigenschaft oder der Skriptwert angezeigt wird.
Im folgenden Beispiel wird die ToString
-Methode aufgerufen, um den Wert des Skripts zu formatieren. Skripts können eine beliebige Methode eines Objekts aufrufen. Wenn ein Objekt über eine Methode wie ToString
verfügt, die Formatierungsparameter enthält, kann das Skript diese Methode aufrufen, um den Ausgabewert des Skripts zu formatieren.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
Das folgende XML-Element kann zum Aufrufen der ToString
-Methode verwendet werden:
Das TableColumnItem--Element definiert die Eigenschaft oder das Skript, deren Wert in der Spalte der Zeile angezeigt wird. Für jede Spalte der Zeile ist ein TableColumnItem--Element erforderlich. Der erste Eintrag wird in der ersten Spalte, dem zweiten Eintrag in der zweiten Spalte usw. angezeigt.
Das ScriptBlock--Element gibt das Skript an, dessen Wert in der Zeile angezeigt wird. Sie müssen entweder ein Skript oder eine Eigenschaft angeben, aber Sie können beides nicht angeben.