Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В расширенном представлении отображается одно значение для каждого отображаемого объекта. Отображаемое значение может быть значением свойства объекта .NET или значением скрипта. По умолчанию для этого представления отсутствует метка или заголовок.
Отображение расширенного представления
в следующем примере показано, как Windows PowerShell отображает объект System. Diagnostics. Process , возвращаемый командлетом Get-Process , когда его выходные данные передаются в командлет Format-Wide . (По умолчанию командлет Get-Process возвращает табличное представление.) В этом примере два столбца используются для вывода имени процесса для каждого возвращаемого объекта. Имя свойства объекта не отображается, только значение свойства.
Get-Process | format-wide
AEADISRV agrsmsvc
Ati2evxx Ati2evxx
audiodg CCC
CcmExec communicator
Crypserv csrss
csrss DevDtct2
DM1Service dpupdchk
dwm DxStudio
EXCEL explorer
GoogleToolbarNotifier GrooveMonitor
hpqwmiex hpservice
Idle InoRpc
InoRT InoTask
ipoint lsass
lsm MOM
MSASCui notepad
... ...
Определение расширенного представления
В следующем коде XML показана схема широкой схемы представления для объекта System. Diagnostics. Process .
View>
<Name>process</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<GroupBy>...</GroupBy>
<Controls>...</Controls>
<WideControl>
<WideEntries>
<WideEntry>
<WideItem>
<PropertyName>ProcessName</PropertyName>
</WideItem>
</WideEntry>
</WideEntries>
</WideControl>
</View>
Для определения широкого представления используются следующие XML-элементы:
Элемент View является родительским элементом для широкого представления. (Это тот же родительский элемент для представлений таблицы, списка и пользовательского элемента управления.)
Элемент Name указывает имя представления. Этот элемент является обязательным для всех представлений.
Элемент виевселектедби определяет объекты, которые используют представление. Этот элемент является обязательным.
Элемент GroupBy определяет, когда отображается новая группа объектов. Новая группа запускается каждый раз при изменении значения определенного свойства или сценария. Этот элемент является необязательным.
Элементы управления определяют пользовательские элементы управления, определяемые широким представлением. Элементы управления позволяют дополнительно указать способ отображения данных. Этот элемент является необязательным. Представление может определять собственные пользовательские элементы управления или использовать стандартные элементы управления, которые могут использоваться любыми представлениями в файле форматирования. Дополнительные сведения о пользовательских элементах управления см. в разделе Создание пользовательских элементов управления.
Элемент видеконтрол и его дочерние элементы определяют, что отображается в представлении. В предыдущем примере представление предназначено для отображения свойства System. Diagnostics. Process. ProcessName .
Пример полного файла форматирования, определяющего простое представление, см. в разделе широкие представления (базовый).
Предоставление определений для вашего широкого представления
Широкие представления могут предоставлять одно или несколько определений с помощью дочерних элементов элемента видеконтрол . Как правило, представление будет иметь только одно определение. В следующем примере представление предоставляет одно определение, которое отображает значение свойства System. Diagnostics. Process. ProcessName . В расширенном представлении может отображаться значение свойства или значение скрипта (не показано в примере).
<WideControl>
<AutoSize/>
<ColumnNumber></ColumnNumber>
<WideEntries>
<WideEntry>
<WideItem>
<PropertyName>ProcessName</PropertyName>
</WideItem>
</WideEntry>
</WideEntries>
</WideControl>
Следующие XML-элементы можно использовать для определения расширенного представления:
Элемент видеконтрол и его дочерние элементы определяют, что отображается в представлении.
Элемент AutoSize указывает, корректируется ли размер столбца и число столбцов в зависимости от размера данных. Этот элемент является необязательным.
Элемент columnNumber указывает количество столбцов, отображаемых в расширенном представлении. Этот элемент является необязательным.
Элемент видинтриес предоставляет определения представления. В большинстве случаев представление будет иметь только одно определение. Этот элемент является обязательным.
Элемент видинтри предоставляет определение представления. Требуется по крайней мере один видинтри ; Однако максимальное количество элементов, которые можно добавить, не ограничено. В большинстве случаев представление будет иметь только одно определение.
Элемент ентриселектедби указывает объекты, отображаемые конкретным определением. Этот элемент является необязательным и необходим только при определении нескольких элементов видинтри , отображающих разные объекты.
Элемент видеитем указывает данные, отображаемые представлением. В отличие от других типов представлений, широкий элемент управления может отображать только один элемент.
Элемент PropertyName указывает свойство, значение которого отображается в представлении. Необходимо указать либо свойство, либо скрипт, но нельзя указать и то, и другое.
Элемент ScriptBlock задает скрипт, значение которого отображается в представлении. Необходимо указать либо скрипт, либо свойство, но нельзя указать и то, и другое.
Элемент FormatString указывает шаблон, используемый для вывода данных. Этот элемент является необязательным.
Пример полного файла форматирования, определяющего определение расширенного представления, см. в разделе широкие представления (базовый).
Определение объектов, использующих широкие представления
Существует два способа определения объектов .NET, использующих широкое представление. Элемент виевселектедби можно использовать для определения объектов, которые могут отображаться всеми определениями представления, или можно использовать элемент ентриселектедби для определения объектов, отображаемых определенным определением представления. В большинстве случаев представление имеет только одно определение, поэтому объекты обычно определяются элементом виевселектедби .
В следующем примере показано, как определить объекты, отображаемые в расширенном представлении с помощью элементов виевселектедби и TypeName . Количество элементов TypeName , которые можно указать, не ограничено, и их порядок не важен.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<WideControl>...</WideControl>
</View>
Следующие XML-элементы можно использовать для указания объектов, используемых в расширенном представлении:
Элемент виевселектедби определяет, какие объекты отображаются в расширенном представлении.
Элемент TypeName указывает .NET, отображаемый представлением. Требуется полное имя типа .NET. Необходимо указать по крайней мере один тип или набор элементов для представления, но максимальное количество заданных объектов не предусмотрено.
Пример полного файла форматирования см. в разделе широкие представления (базовый).
В следующем примере используются элементы виевселектедби и селектионсетнаме . Используйте наборы выбора, в которых имеется связанный набор объектов, отображаемых с помощью нескольких представлений, например при определении расширенного представления и табличного представления для тех же объектов. Дополнительные сведения о создании набора выбора см. в разделе Определение наборов выбора.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<WideControl>...</WideControl>
</View>
Следующие XML-элементы можно использовать для указания объектов, используемых в расширенном представлении:
Элемент виевселектедби определяет, какие объекты отображаются в расширенном представлении.
Элемент селектионсетнаме указывает набор объектов, которые могут быть отображены представлением. Необходимо указать хотя бы один набор выбора или тип для представления, но максимальное количество элементов, которое можно указать, не существует.
В следующем примере показано, как определить объекты, отображаемые определенным определением расширенного представления с помощью элемента ентриселектедби . С помощью этого элемента можно указать имя типа .NET объекта, набор элементов выбора объектов или условие выбора, которое указывает, когда используется определение. Дополнительные сведения о создании условий выбора см. в разделе Определение условий для отображения данных.
<WideEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</WideEntry>
Следующие XML-элементы можно использовать для указания объектов, которые используются в определенном определении расширенного представления:
Элемент ентриселектедби определяет, какие объекты отображаются в определении.
Элемент TypeName указывает .NET, отображаемый определением. При использовании этого элемента требуется полное имя типа .NET. Необходимо указать по крайней мере один тип, набор выбора или условие выбора для определения, но максимальное число элементов, которое можно указать, не предусмотрено.
Элемент селектионсетнаме (не показан) задает набор объектов, которые могут отображаться в этом определении. Необходимо указать по крайней мере один тип, набор выбора или условие выбора для определения, но максимальное число элементов, которое можно указать, не предусмотрено.
Элемент селектионкондитион (не показано) указывает условие, которое должно существовать, чтобы использовать это определение. Необходимо указать по крайней мере один тип, набор выбора или условие выбора для определения, но максимальное число элементов, которое можно указать, не предусмотрено. Дополнительные сведения об определении условий выбора см. в разделе Определение условий для отображения данных.
Отображение групп объектов в широком представлении
Объекты, отображаемые в расширенном представлении, можно разделить на группы. это не означает, что вы определяете группу, а только это Windows PowerShell запускает новую группу всякий раз, когда изменяется значение определенного свойства или сценария. В следующем примере новая группа запускается всякий раз, когда изменяется свойство System. ServiceProcess. ServiceController. serviceType .
<GroupBy>
<Label>Service Type</Label>
<PropertyName>ServiceType</PropertyName>
</GroupBy>
Следующие XML-элементы используются для определения времени запуска группы:
Элемент GroupBy определяет свойство или скрипт, который запускает новую группу и определяет, как будет отображаться группа.
Элемент PropertyName указывает свойство, которое запускает новую группу при изменении ее значения. Необходимо указать свойство или скрипт для запуска группы, но нельзя указать и то, и другое.
Элемент ScriptBlock указывает скрипт, который запускает новую группу при изменении ее значения. Необходимо указать скрипт или свойство для запуска группы, но нельзя указать и то, и другое.
Элемент Label определяет метку, которая отображается в начале каждой группы. в дополнение к тексту, указанному этим элементом, Windows PowerShell отображает значение, вызвавшее новую группу, и добавляет пустую строку до и после метки. Этот элемент является необязательным.
Элемент Ошибка customcontrol определяет элемент управления, используемый для вывода данных. Этот элемент является необязательным.
Элемент кустомконтролнаме указывает общий элемент управления или представление, которое используется для отображения данных. Этот элемент является необязательным.
Пример полного файла форматирования, определяющего группы, см. в разделе широкие представления (GroupBy).
Использование строк формата
Строки форматирования можно добавить в расширенное представление, чтобы дополнительно определить способ отображения данных. В следующем примере показано, как определить строку форматирования для значения StartTime
Свойства.
<WideItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</WideItem>
Для указания шаблона формата можно использовать следующие XML-элементы:
Элемент видеитем указывает данные, отображаемые представлением.
Элемент PropertyName указывает свойство, значение которого отображается в представлении. Необходимо указать либо свойство, либо скрипт, но нельзя указать и то, и другое.
Элемент FormatString задает шаблон формата, определяющий способ отображения значения свойства или скрипта в представлении.
Элемент ScriptBlock (не показан) задает скрипт, значение которого отображается в представлении. Необходимо указать либо скрипт, либо свойство, но нельзя указать и то, и другое.
В следующем примере ToString
метод вызывается для форматирования значения скрипта. Скрипты могут вызывать любой метод объекта. Таким образом, если у объекта есть метод, такой как ToString
, имеющий параметры форматирования, скрипт может вызвать этот метод для форматирования выходного значения скрипта.
<WideItem>
<ScriptBlock>
[String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</WideItem>
Для вызова метода можно использовать следующий XML-элемент ToString
:
Элемент видеитем указывает данные, отображаемые представлением.
Элемент ScriptBlock (не показан) задает скрипт, значение которого отображается в представлении. Необходимо указать либо скрипт, либо свойство, но нельзя указать и то, и другое.
См. также:
Широкое представление (базовое)