Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma exibição de tabela exibe dados em uma ou mais colunas. Cada linha na tabela representa um objeto .NET e cada coluna da tabela representa uma propriedade do objeto ou um valor de script. Você pode definir uma exibição de tabela que exibe todas as propriedades de um objeto ou um subconjunto das propriedades de um objeto.
Uma exibição de exibição de tabela
O exemplo a seguir mostra como o Windows PowerShell exibe o objeto System.ServiceProcess.ServiceController retornado pelo cmdlet Get-Service. Para esse objeto, o Windows PowerShell definiu uma exibição de tabela que exibe a propriedade Status, a propriedade Name (essa propriedade é uma propriedade de alias para a propriedade ServiceName) e a propriedade DisplayName. Cada linha na tabela representa um objeto retornado pelo cmdlet.
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
Stopped AppIDSvc Application Identity
Running Appinfo Application Information
Definindo o Modo de Exibição de Tabela
O XML a seguir mostra o esquema de exibição de tabela para exibir o objeto System.ServiceProcess.ServiceController. Você deve especificar cada propriedade que deseja exibir no modo de exibição de tabela.
<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>
Os seguintes elementos XML são usados para definir uma exibição de lista:
O elemento View é o elemento pai da exibição de tabela. (Este é o mesmo elemento pai para as exibições de controle de lista, largo e personalizado.)
O elemento Name especifica o nome da exibição. Esse elemento é necessário para todos os modos de exibição.
O elemento ViewSelectedBy define os objetos que usam a exibição. Esse elemento é necessário.
O elemento GroupBy (não mostrado neste exemplo) define quando um novo grupo de objetos é exibido. Um novo grupo é iniciado sempre que o valor de uma propriedade ou script específico é alterado. Esse elemento é opcional.
O elemento controles de (não mostrado neste exemplo) define os controles personalizados definidos pelo modo de exibição de tabela. Os controles fornecem uma maneira de especificar ainda mais como os dados são exibidos. Esse elemento é opcional. Uma exibição pode definir seus próprios controles personalizados ou pode usar controles comuns que podem ser usados por qualquer exibição no arquivo de formatação. Para obter mais informações sobre controles personalizados, consulte Criando controles personalizados.
O elemento HideTableHeaders (não mostrado neste exemplo) especifica que a tabela não mostrará rótulos na parte superior da tabela. Esse elemento é opcional.
O elemento TableControl que define as informações de cabeçalho e linha da tabela. Semelhante a todos os outros modos de exibição, um modo de exibição de tabela pode exibir os valores de propriedades de objeto ou valores gerados por scripts.
Definindo cabeçalhos de coluna
O elemento TableHeaders e seus elementos filho definem o que é exibido na parte superior da tabela.
O elemento TableColumnHeader define o que é exibido na parte superior de uma coluna da tabela. Especifique esses elementos na ordem em que você deseja exibir os cabeçalhos.
Não há limite para o número desses elementos que você pode usar, mas o número de elementos TableColumnHeader no modo de exibição de tabela deve ser igual ao número de elementos TableRowEntry que você usa.
O elemento Label especifica o texto exibido. Esse elemento é opcional.
O elemento Width especifica a largura (em caracteres) da coluna. Esse elemento é opcional.
O elemento alinhamento especifica como o rótulo é exibido. O rótulo pode ser alinhado à esquerda, à direita ou centralizado. Esse elemento é opcional.
Definindo as linhas de tabela
As exibições de tabela podem fornecer uma ou mais definições que especificam quais dados são exibidos nas linhas da tabela usando os elementos filho do elemento TableRowEntries. Observe que você pode especificar várias definições para as linhas da tabela, mas os cabeçalhos das linhas permanecem os mesmos, independentemente de qual definição de linha é usada. Normalmente, uma tabela terá apenas uma definição.
No exemplo a seguir, a exibição fornece uma única definição que exibe os valores de várias propriedades do objeto System.Diagnostics.Process. Uma exibição de tabela pode exibir o valor de uma propriedade ou o valor de um script (não mostrado no exemplo) em suas linhas.
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem>
<PropertyName>Status</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>Name</PropertyName>
</TableColumnItem>
<TableColumnItem>
<PropertyName>DisplayName</PropertyName>
</TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
Os seguintes elementos XML podem ser usados para fornecer definições para uma linha:
O elemento TableRowEntries e seus elementos filho definem o que é exibido nas linhas da tabela.
O elemento TableRowEntry fornece uma definição da linha. Pelo menos uma TableRowEntry é necessária; no entanto, não há limite máximo para o número de elementos que você pode adicionar. Na maioria dos casos, uma exibição terá apenas uma definição.
O elemento EntrySelectedBy especifica os objetos exibidos por uma definição específica. Esse elemento é opcional e é necessário somente quando você define vários elementos TableRowEntry que exibem objetos diferentes.
O elemento Wrap especifica que o texto que excede a largura da coluna é exibido na próxima linha. Por padrão, o texto que excede a largura da coluna é truncado.
O elemento TableColumnItems define as propriedades ou scripts cujos valores são exibidos na linha.
O elemento TableColumnItem define a propriedade ou o script cujo valor é exibido na coluna da linha. Um elemento TableColumnItem é necessário para cada coluna da linha. A primeira entrada é exibida na primeira coluna, na segunda entrada na segunda coluna e assim por diante.
O elemento PropertyName especifica a propriedade cujo valor é exibido na linha. Você deve especificar uma propriedade ou um script, mas não pode especificar ambos.
O elemento ScriptBlock especifica o script cujo valor é exibido na linha. Você deve especificar um script ou uma propriedade, mas não pode especificar ambos.
O elemento FormatString especifica um padrão de formato que define como o valor da propriedade ou do script é exibido. Esse elemento é opcional.
O elemento alinhamento especifica como o valor da propriedade ou script é exibido. O valor pode ser alinhado à esquerda, à direita ou centralizado. Esse elemento é opcional.
Definindo os objetos que usam o modo de exibição de tabela
Há duas maneiras de definir quais objetos .NET usam o modo de exibição de tabela. Você pode usar o elemento ViewSelectedBy para definir os objetos que podem ser exibidos por todas as definições do modo de exibição ou usar o elemento EntrySelectedBy para definir quais objetos são exibidos por uma definição específica do modo de exibição. Na maioria dos casos, uma exibição tem apenas uma definição, portanto, os objetos normalmente são definidos pelo elemento ViewSelectedBy.
O exemplo a seguir mostra como definir os objetos exibidos pela exibição de tabela usando os elementos ViewSelectedBy e TypeName. Não há limite para o número de TypeName elementos que você pode especificar e sua ordem não é significativa.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
Os seguintes elementos XML podem ser usados para especificar os objetos usados pelo modo de exibição de tabela:
O elemento ViewSelectedBy define quais objetos são exibidos pelo modo de exibição de lista.
O elemento TypeName especifica o objeto .NET exibido pela exibição. O nome de tipo .NET totalmente qualificado é necessário. Você deve especificar pelo menos um tipo ou conjunto de seleção para o modo de exibição, mas não há um número máximo de elementos que possa ser especificado.
O exemplo a seguir usa os elementos ViewSelectedBy e SelectionSetName. Use conjuntos de seleção em que você tenha um conjunto relacionado de objetos que são exibidos usando várias exibições, como quando você define um modo de exibição de lista e um modo de exibição de tabela para os mesmos objetos. Para obter mais informações sobre como criar um conjunto de seleção, consulte Definindo conjuntos de seleção.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<TableControl>...</TableControl>
</View>
Os seguintes elementos XML podem ser usados para especificar os objetos usados pela exibição de lista:
O elemento ViewSelectedBy define quais objetos são exibidos pelo modo de exibição de lista.
O elemento SelectionSetName especifica um conjunto de objetos que podem ser exibidos pelo modo de exibição. Você deve especificar pelo menos um conjunto de seleção ou tipo para o modo de exibição, mas não há um número máximo de elementos que possa ser especificado.
O exemplo a seguir mostra como definir os objetos exibidos por uma definição específica da exibição de tabela usando o elemento EntrySelectedBy. Usando esse elemento, você pode especificar o nome do tipo .NET do objeto, um conjunto de seleção de objetos ou uma condição de seleção que especifica quando a definição é usada. Para obter mais informações sobre como criar condições de seleção, consulte Definindo condições para exibirde dados.
Observação
Ao criar várias definições do modo de exibição de tabela, você não pode especificar cabeçalhos de coluna diferentes. Você pode especificar apenas o que é exibido nas linhas da tabela, como quais objetos são exibidos.
<TableRowEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</TableRowEntry>
Os seguintes elementos XML podem ser usados para especificar os objetos usados por uma definição específica da exibição de lista:
O elemento EntrySelectedBy define quais objetos são exibidos pela definição.
O elemento TypeName especifica o objeto .NET exibido pela definição. Ao usar esse elemento, o nome de tipo .NET totalmente qualificado é necessário. Você deve especificar pelo menos um tipo, conjunto de seleção ou condição de seleção para a definição, mas não há um número máximo de elementos que possam ser especificados.
O elemento SelectionSetName (não mostrado) especifica um conjunto de objetos que podem ser exibidos por essa definição. Você deve especificar pelo menos um tipo, conjunto de seleção ou condição de seleção para a definição, mas não há um número máximo de elementos que possam ser especificados.
O elemento SelectionCondition (não mostrado) especifica uma condição que deve existir para que essa definição seja usada. Você deve especificar pelo menos um tipo, conjunto de seleção ou condição de seleção para a definição, mas não há um número máximo de elementos que possam ser especificados. Para obter mais informações sobre como definir condições de seleção, consulte Definindo condições para exibirde dados.
Usando cadeias de caracteres de formato
As cadeias de caracteres de formatação podem ser adicionadas a uma exibição para definir ainda mais como os dados são exibidos. O exemplo a seguir mostra como definir uma cadeia de caracteres de formatação para o valor da propriedade StartTime.
<TableColumnItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</TableColumnItem>
Os seguintes elementos XML podem ser usados para especificar um padrão de formato:
O elemento TableColumnItem define a propriedade ou o script cujo valor é exibido na coluna da linha. Um elemento TableColumnItem é necessário para cada coluna da linha. A primeira entrada é exibida na primeira coluna, na segunda entrada na segunda coluna e assim por diante.
O elemento PropertyName especifica a propriedade cujo valor é exibido na linha. Você deve especificar uma propriedade ou um script, mas não pode especificar ambos.
O elemento FormatString especifica um padrão de formato que define como o valor da propriedade ou do script é exibido.
No exemplo a seguir, o método ToString é chamado para formatar o valor do script. Os scripts podem chamar qualquer método de um objeto. Portanto, se um objeto tiver um método, como ToString, que tenha parâmetros de formatação, o script poderá chamar esse método para formatar o valor de saída do script.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
O seguinte elemento XML pode ser usado para chamar o método ToString:
O elemento TableColumnItem define a propriedade ou o script cujo valor é exibido na coluna da linha. Um elemento TableColumnItem é necessário para cada coluna da linha. A primeira entrada é exibida na primeira coluna, na segunda entrada na segunda coluna e assim por diante.
O elemento ScriptBlock especifica o script cujo valor é exibido na linha. Você deve especificar um script ou uma propriedade, mas não pode especificar ambos.