[玩转系统] 创建列表视图
作者:精品下载站 日期:2024-12-14 02:44:26 浏览:11 分类:玩电脑
创建列表视图
列表视图在单列中显示数据(按顺序)。列表中显示的数据可以是.NET 属性的值或脚本的值。
列表视图显示
以下输出显示 Windows PowerShell 如何显示 Get-Service cmdlet 返回的 System.Serviceprocess.Servicecontroller?Displayproperty=Fullname 对象的属性。在此示例中,返回了三个对象,每个对象与前一个对象之间用空行分隔。
Get-Service | format-list
Name : AEADIFilters
DisplayName : Andrea ADI Filters Service
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
Name : AeLookupSvc
DisplayName : Application Experience
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32ShareProcess
Name : AgereModemAudio
DisplayName : Agere Modem Call Progress Audio
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
...
定义列表视图
以下 XML 显示了用于显示 System.Serviceprocess.Servicecontroller?Displayproperty=Fullname 对象的多个属性的列表视图架构。您必须指定要在列表视图中显示的每个属性。
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
</View>
以下 XML 元素用于定义列表视图:
View 元素是列表视图的父元素。 (这与表视图、宽视图和自定义控件视图的父元素相同。)
-
Name 元素指定视图的名称。所有视图都需要此元素。
ViewSelectedBy 元素定义使用视图的对象。该元素是必需的。
GroupBy 元素定义何时显示一组新的对象。每当特定属性或脚本的值发生更改时,就会启动一个新组。该元素是可选的。
Controls 元素定义由列表视图定义的自定义控件。控件为您提供了一种进一步指定数据显示方式的方法。该元素是可选的。视图可以定义自己的自定义控件,也可以使用格式化文件中任何视图都可以使用的通用控件。有关自定义控件的更多信息,请参阅创建自定义控件。
ListControl 元素定义视图中显示的内容及其格式。与所有其他视图类似,列表视图可以显示对象属性的值或脚本生成的值。
有关定义简单列表视图的完整格式化文件的示例,请参阅列表视图(基本)。
为您的列表视图提供定义
列表视图可以通过使用 ListControl 元素的子元素来提供一个或多个定义。通常,一个视图只有一个定义。在以下示例中,视图提供了一个显示 System.Diagnostics.Process?Displayproperty=Fullname 对象的多个属性的定义。列表视图可以显示属性的值或脚本的值(示例中未显示)。
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
以下 XML 元素可用于提供列表视图的定义:
ListControl 元素及其子元素定义视图中显示的内容。
ListEntries 元素提供视图的定义。在大多数情况下,一个视图只有一个定义。该元素是必需的。
-
ListEntry 元素提供视图的定义。至少需要一个ListEntry;但是,可以添加的元素数量没有最大限制。在大多数情况下,一个视图只有一个定义。
EntrySelectedBy 元素指定按特定定义显示的对象。此元素是可选的,仅当您定义显示不同对象的多个 ListEntry 元素时才需要。
ListItems 元素指定其值显示在列表视图的行中的属性和脚本。
ListItem 元素指定一个属性或脚本,其值显示在列表视图的一行中。列表视图必须至少指定一个属性或脚本。可以指定的行数没有最大限制。
PropertyName 元素指定其值显示在行中的属性。您必须指定属性或脚本,但不能同时指定两者。
ScriptBlock 元素指定其值显示在行中的脚本。您必须指定脚本或属性,但不能同时指定两者。
Label 元素指定显示在行中属性或脚本值左侧的标签。该元素是可选的。如果未指定标签,则显示属性或脚本的名称。有关完整示例,请参阅列表视图(标签)。
ItemSelectionCondition 元素指定要显示的行必须存在的条件。有关向列表视图添加条件的详细信息,请参阅定义显示数据的条件。该元素是可选的。
FormatString 元素指定用于显示属性或脚本值的模式。该元素是可选的。
有关定义简单列表视图的完整格式化文件的示例,请参阅列表视图(基本)。
定义使用列表视图的对象
有两种方法可以定义哪些 .NET 对象使用列表视图。您可以使用 ViewSelectedBy 元素来定义视图的所有定义可以显示的对象,也可以使用 EntrySelectedBy 元素来定义视图的特定定义显示哪些对象。在大多数情况下,视图只有一个定义,因此对象通常由 ViewSelectedBy 元素定义。
以下示例演示如何使用 ViewSelectedBy 和 TypeName 元素定义列表视图显示的对象。您可以指定的 TypeName 元素的数量没有限制,并且它们的顺序并不重要。
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
以下 XML 元素可用于指定列表视图使用的对象:
ViewSelectedBy 元素定义列表视图显示哪些对象。
TypeName 元素指定视图显示的.NET 对象。需要完全限定的 .NET 类型名称。您必须为视图指定至少一种类型或选择集,但可以指定的元素数量没有最大限制。
有关完整格式化文件的示例,请参阅列表视图(基本)。
以下示例使用 ViewSelectedBy 和 SelectionSetName 元素。如果您有一组使用多个视图显示的相关对象,请使用选择集,例如为相同对象定义列表视图和表视图时。有关如何创建选择集的详细信息,请参阅定义选择集。
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
以下 XML 元素可用于指定列表视图使用的对象:
ViewSelectedBy 元素定义列表视图显示哪些对象。
SelectionSetName 元素指定可由视图显示的一组对象。您必须为视图指定至少一种选择集或类型,但可以指定的元素数量没有最大限制。
以下示例演示如何使用 EntrySelectedBy 元素来定义列表视图的特定定义所显示的对象。使用此元素,您可以指定对象的 .NET 类型名称、对象选择集或指定何时使用定义的选择条件。有关如何创建选择条件的详细信息,请参阅定义显示数据的条件。
<ListEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</ListEntry>
以下 XML 元素可用于指定列表视图的特定定义所使用的对象:
EntrySelectedBy 元素定义根据定义显示哪些对象。
TypeName 元素指定定义显示的 .NET 对象。使用此元素时,需要完全限定的 .NET 类型名称。您必须为定义至少指定一种类型、选择集或选择条件,但可以指定的元素数量没有上限。
SelectionSetName 元素(未显示)指定可以通过此定义显示的一组对象。您必须为定义至少指定一种类型、选择集或选择条件,但可以指定的元素数量没有上限。
SelectionCondition 元素(未显示)指定要使用此定义必须存在的条件。您必须为定义至少指定一种类型、选择集或选择条件,但可以指定的元素数量没有上限。有关定义选择条件的详细信息,请参阅定义显示数据的条件。
在列表视图中显示对象组
您可以将列表视图显示的对象分成组。这并不意味着您定义一个组,只是每当特定属性或脚本的值发生更改时,Windows PowerShell 就会启动一个新组。在以下示例中,只要 System.Serviceprocess.Servicecontroller.Servicetype 属性的值发生更改,就会启动一个新组。
<GroupBy>
<Label>Service Type</Label>
<PropertyName>ServiceType</PropertyName>
</GroupBy>
以下 XML 元素用于定义组何时启动:
GroupBy 元素定义启动新组的属性或脚本,并定义该组的显示方式。
PropertyName 元素指定每当其值更改时启动新组的属性。您必须指定属性或脚本来启动组,但不能同时指定两者。
ScriptBlock 元素指定每当其值更改时启动新组的脚本。您必须指定脚本或属性来启动组,但不能同时指定两者。
Label 元素定义显示在每个组开头的标签。除了此元素指定的文本之外,Windows PowerShell 还会显示触发新组的值,并在标签前后添加一个空行。该元素是可选的。
CustomControl 元素定义用于显示数据的控件。该元素是可选的。
CustomControlName 元素指定用于显示数据的公共控件或视图控件。该元素是可选的。
有关定义组的完整格式设置文件的示例,请参阅列表视图 (GroupBy)。
使用格式字符串
可以将格式化字符串添加到视图中以进一步定义数据的显示方式。以下示例演示如何为 StartTime
属性的值定义格式字符串。
<ListItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>
以下 XML 元素可用于指定格式模式:
ListItem 元素指定视图显示的数据。
PropertyName 元素指定视图显示其值的属性。您必须指定属性或脚本,但不能同时指定两者。
FormatString 元素指定格式模式,该格式模式定义属性或脚本值在视图中的显示方式。
ScriptBlock 元素(未显示)指定其值由视图显示的脚本。您必须指定脚本或属性,但不能同时指定两者。
在以下示例中,调用 ToString
方法来格式化脚本的值。脚本可以调用对象的任何方法。因此,如果对象具有带有格式化参数的方法(例如 ToString
),则脚本可以调用该方法来格式化脚本的输出值。
<ListItem>
<ScriptBlock>
[String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
以下 XML 元素可用于调用 ToString
方法:
ListItem 元素指定视图显示的数据。
ScriptBlock 元素(未显示)指定其值由视图显示的脚本。您必须指定脚本或属性,但不能同时指定两者。
参见
编写 Windows PowerShell Cmdlet
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag