การสร้างมุมมองที่กว้าง
มุมมองแบบกว้างจะแสดงค่าเดียวสำหรับแต่ละออบเจ็กต์ที่แสดง ค่าที่แสดงอาจเป็นค่าของคุณสมบัติวัตถุ .NET หรือค่าของสคริปต์ ตามค่าเริ่มต้น ไม่มีป้ายกำกับหรือส่วนหัวสำหรับมุมมองนี้
จอแสดงผลมุมมองกว้าง
ตัวอย่างต่อไปนี้แสดงวิธีที่ Windows PowerShell แสดงออบเจ็กต์ System.Diagnostics.Process ที่ส่งคืนโดย Get-Process cmdlet เมื่อเอาต์พุตถูกส่งไปยัง Format-Wide cmdlet (ตามค่าเริ่มต้น Get-Process cmdlet จะส่งกลับมุมมองตาราง) ในตัวอย่างนี้ ทั้งสองคอลัมน์จะใช้เพื่อแสดงชื่อของกระบวนการสำหรับวัตถุที่ส่งคืนแต่ละรายการ ชื่อของคุณสมบัติของออบเจ็กต์จะไม่แสดงเพียงค่าของคุณสมบัติเท่านั้น
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 ต่อไปนี้ใช้เพื่อกำหนดมุมมองแบบกว้าง:
- องค์ประกอบมุมมองเป็นองค์ประกอบหลักของมุมมองแบบกว้าง (นี่เป็นองค์ประกอบหลักเดียวกันสำหรับตาราง รายการ และมุมมองการควบคุมแบบกำหนดเอง)
- องค์ประกอบชื่อระบุชื่อของมุมมอง องค์ประกอบนี้จำเป็นสำหรับทุกมุมมอง
- องค์ประกอบ ViewSelectedBy กำหนดวัตถุที่ใช้มุมมอง จำเป็นต้องมีองค์ประกอบนี้
- องค์ประกอบ GroupBy กำหนดเมื่อกลุ่มใหม่ของวัตถุจะปรากฏขึ้น กลุ่มใหม่จะเริ่มต้นเมื่อใดก็ตามที่ค่าของคุณสมบัติหรือสคริปต์เฉพาะมีการเปลี่ยนแปลง องค์ประกอบนี้เป็นทางเลือก
- องค์ประกอบการควบคุมจะกำหนดการควบคุมแบบกำหนดเองที่กำหนดโดยมุมมองแบบกว้าง การควบคุมช่วยให้คุณระบุวิธีการแสดงข้อมูลเพิ่มเติมได้ องค์ประกอบนี้เป็นทางเลือก มุมมองสามารถกำหนดตัวควบคุมแบบกำหนดเองของตัวเองได้ หรือใช้ตัวควบคุมทั่วไปที่สามารถใช้โดยมุมมองใดก็ได้ในไฟล์การจัดรูปแบบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมแบบกำหนดเอง โปรดดู การสร้างการควบคุมแบบกำหนดเอง
- องค์ประกอบ WideControl และองค์ประกอบย่อยจะกำหนดสิ่งที่แสดงในมุมมอง ในตัวอย่างก่อนหน้านี้ มุมมองได้รับการออกแบบให้แสดงคุณสมบัติ System.Diagnostics.Process.ProcessName
สำหรับตัวอย่างไฟล์การจัดรูปแบบที่สมบูรณ์ซึ่งกำหนดมุมมองกว้างแบบธรรมดา โปรดดู มุมมองกว้าง (พื้นฐาน)
ให้คำจำกัดความสำหรับมุมมองกว้างของคุณ
มุมมองกว้างสามารถให้คำจำกัดความอย่างน้อยหนึ่งคำโดยใช้องค์ประกอบลูกขององค์ประกอบ WideControl โดยทั่วไป มุมมองจะมีคำจำกัดความเดียวเท่านั้น ในตัวอย่างต่อไปนี้ มุมมองให้คำจำกัดความเดียวที่แสดงคุณสมบัติ System.Diagnostics.Process.ProcessName มุมมองกว้างสามารถแสดงค่าของคุณสมบัติหรือค่าของสคริปต์ (ไม่แสดงในตัวอย่าง)
<WideControl>
<AutoSize/>
<ColumnNumber></ColumnNumber>
<WideEntries>
<WideEntry>
<WideItem>
<PropertyName>ProcessName</PropertyName>
</WideItem>
</WideEntry>
</WideEntries>
</WideControl>
องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อให้คำจำกัดความสำหรับมุมมองแบบกว้าง:
- องค์ประกอบ WideControl และองค์ประกอบย่อยจะกำหนดสิ่งที่แสดงในมุมมอง
- องค์ประกอบ AutoSize ระบุว่าขนาดคอลัมน์และจำนวนคอลัมน์ได้รับการปรับขนาดตามขนาดของข้อมูลหรือไม่ องค์ประกอบนี้เป็นทางเลือก
- องค์ประกอบ ColumnNumber ระบุจำนวนคอลัมน์ที่แสดงในมุมมองแบบกว้าง องค์ประกอบนี้เป็นทางเลือก
- องค์ประกอบ WideEntries ให้คำจำกัดความของมุมมอง ในกรณีส่วนใหญ่ มุมมองจะมีคำจำกัดความเดียวเท่านั้น จำเป็นต้องมีองค์ประกอบนี้
- องค์ประกอบ WideEntry ให้คำจำกัดความของมุมมอง ต้องมี WideEntry อย่างน้อยหนึ่งรายการ อย่างไรก็ตาม คุณสามารถเพิ่มองค์ประกอบได้ไม่จำกัดจำนวน ในกรณีส่วนใหญ่ มุมมองจะมีคำจำกัดความเดียวเท่านั้น
- องค์ประกอบ EntrySelectedBy ระบุออบเจ็กต์ที่แสดงตามคำจำกัดความเฉพาะ องค์ประกอบนี้เป็นทางเลือกและจำเป็นเฉพาะเมื่อคุณกำหนดองค์ประกอบ WideEntry หลายรายการที่แสดงออบเจ็กต์ที่แตกต่างกัน
- องค์ประกอบ WideItem ระบุข้อมูลที่แสดงโดยมุมมอง ตรงกันข้ามกับมุมมองประเภทอื่นๆ ตัวควบคุมแบบกว้างสามารถแสดงรายการได้เพียงรายการเดียวเท่านั้น
- องค์ประกอบ PropertyName ระบุคุณสมบัติที่มีค่าที่แสดงโดยมุมมอง คุณต้องระบุคุณสมบัติหรือสคริปต์ แต่คุณไม่สามารถระบุทั้งสองอย่างได้
- องค์ประกอบ ScriptBlock ระบุสคริปต์ที่มีค่าที่จะแสดงตามมุมมอง คุณต้องระบุสคริปต์หรือคุณสมบัติ แต่คุณไม่สามารถระบุทั้งสองอย่างได้
- องค์ประกอบ FormatString ระบุรูปแบบที่ใช้ในการแสดงข้อมูล องค์ประกอบนี้เป็นทางเลือก
สำหรับตัวอย่างไฟล์การจัดรูปแบบที่สมบูรณ์ซึ่งกำหนดคำจำกัดความของมุมมองแบบกว้าง โปรดดู มุมมองแบบกว้าง (พื้นฐาน)
การกำหนดวัตถุที่ใช้มุมมองกว้าง
มีสองวิธีในการกำหนดว่าวัตถุ .NET ใดใช้มุมมองแบบกว้าง คุณสามารถใช้องค์ประกอบ ViewSelectedBy เพื่อกำหนดออบเจ็กต์ที่สามารถแสดงตามคำจำกัดความทั้งหมดของมุมมอง หรือคุณสามารถใช้องค์ประกอบ EntrySelectedBy เพื่อกำหนดว่าออบเจ็กต์ใดจะแสดงตามคำจำกัดความเฉพาะของมุมมอง ในกรณีส่วนใหญ่ มุมมองจะมีคำจำกัดความเดียวเท่านั้น ดังนั้น โดยทั่วไปแล้วออบเจ็กต์จะถูกกำหนดโดยองค์ประกอบ ViewSelectedBy
ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดวัตถุที่แสดงโดยมุมมองแบบกว้างโดยใช้องค์ประกอบ ViewSelectedBy และ TypeName ไม่มีการจำกัดจำนวนองค์ประกอบ TypeName ที่คุณสามารถระบุได้ และลำดับขององค์ประกอบนั้นไม่มีนัยสำคัญ
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<WideControl>...</WideControl>
</View>
องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุวัตถุที่ใช้ในมุมมองแบบกว้าง:
- องค์ประกอบ ViewSelectedBy กำหนดว่าวัตถุใดจะแสดงในมุมมองแบบกว้าง
- องค์ประกอบ TypeName ระบุ .NET ที่แสดงโดยมุมมอง จำเป็นต้องมีชื่อประเภท .NET แบบเต็ม คุณต้องระบุอย่างน้อยหนึ่งประเภทหรือชุดการเลือกสำหรับมุมมอง แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้
สำหรับตัวอย่างไฟล์การจัดรูปแบบที่สมบูรณ์ โปรดดู มุมมองกว้าง (พื้นฐาน)
ตัวอย่างต่อไปนี้ใช้องค์ประกอบ ViewSelectedBy และ SelectionSetName ใช้ชุดการเลือกที่คุณมีชุดวัตถุที่เกี่ยวข้องซึ่งแสดงโดยใช้หลายมุมมอง เช่น เมื่อคุณกำหนดมุมมองแบบกว้างและมุมมองตารางสำหรับวัตถุเดียวกัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างชุดการเลือก โปรดดูที่ การกำหนดชุดการเลือก
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<WideControl>...</WideControl>
</View>
องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุวัตถุที่ใช้ในมุมมองแบบกว้าง:
- องค์ประกอบ ViewSelectedBy กำหนดว่าวัตถุใดจะแสดงในมุมมองแบบกว้าง
- องค์ประกอบ SelectionSetName ระบุชุดของออบเจ็กต์ที่สามารถแสดงได้โดยมุมมอง คุณต้องระบุชุดการเลือกหรือประเภทอย่างน้อยหนึ่งรายการสำหรับมุมมอง แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้
ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดออบเจ็กต์ที่แสดงตามคำจำกัดความเฉพาะของมุมมองแบบกว้างโดยใช้องค์ประกอบ EntrySelectedBy การใช้องค์ประกอบนี้ คุณสามารถระบุชื่อประเภท .NET ของออบเจ็กต์ ชุดการเลือกของออบเจ็กต์ หรือเงื่อนไขการเลือกที่ระบุว่าจะใช้ข้อกำหนดเมื่อใด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างเงื่อนไขการเลือก โปรดดูที่ การกำหนดเงื่อนไขสำหรับการแสดงข้อมูล
<WideEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</WideEntry>
องค์ประกอบ 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 ระบุสคริปต์ที่เริ่มกลุ่มใหม่ทุกครั้งที่ค่าเปลี่ยนแปลง คุณต้องระบุสคริปต์หรือคุณสมบัติเพื่อเริ่มกลุ่ม แต่คุณไม่สามารถระบุทั้งสองอย่างได้
- องค์ประกอบป้ายกำกับกำหนดป้ายกำกับที่แสดงที่จุดเริ่มต้นของแต่ละกลุ่ม นอกเหนือจากข้อความที่ระบุโดยองค์ประกอบนี้ Windows PowerShell จะแสดงค่าที่ทริกเกอร์กลุ่มใหม่และเพิ่มบรรทัดว่างก่อนและหลังป้ายกำกับ องค์ประกอบนี้เป็นทางเลือก
- องค์ประกอบ CustomControl กำหนดตัวควบคุมที่ใช้เพื่อแสดงข้อมูล องค์ประกอบนี้เป็นทางเลือก
- องค์ประกอบ CustomControlName ระบุตัวควบคุมทั่วไปหรือมุมมองที่ใช้เพื่อแสดงข้อมูล องค์ประกอบนี้เป็นทางเลือก
สำหรับตัวอย่างไฟล์การจัดรูปแบบที่สมบูรณ์ซึ่งกำหนดกลุ่ม โปรดดู มุมมองกว้าง (GroupBy)
การใช้รูปแบบสตริง
สามารถเพิ่มสตริงการจัดรูปแบบลงในมุมมองแบบกว้างเพื่อกำหนดวิธีการแสดงข้อมูลเพิ่มเติมได้ ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดสตริงการจัดรูปแบบสำหรับค่าของคุณสมบัติ StartTime
<WideItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</WideItem>
องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุรูปแบบรูปแบบ:
- องค์ประกอบ WideItem ระบุข้อมูลที่แสดงโดยมุมมอง
- องค์ประกอบ PropertyName ระบุคุณสมบัติที่มีค่าที่แสดงโดยมุมมอง คุณต้องระบุคุณสมบัติหรือสคริปต์ แต่คุณไม่สามารถระบุทั้งสองอย่างได้
- องค์ประกอบ FormatString ระบุรูปแบบรูปแบบที่กำหนดวิธีการแสดงคุณสมบัติหรือค่าสคริปต์ในมุมมอง
- องค์ประกอบ ScriptBlock (ไม่แสดง) ระบุสคริปต์ที่มีค่าที่จะแสดงตามมุมมอง คุณต้องระบุสคริปต์หรือคุณสมบัติ แต่คุณไม่สามารถระบุทั้งสองอย่างได้
ในตัวอย่างต่อไปนี้ มีการเรียกเมธอด ToString เพื่อจัดรูปแบบค่าของสคริปต์ สคริปต์สามารถเรียกวิธีการใดๆ ของอ็อบเจ็กต์ได้ ดังนั้น หากวัตถุมีเมธอด เช่น ToString ที่มีพารามิเตอร์การจัดรูปแบบ สคริปต์สามารถเรียกเมธอดนั้นเพื่อจัดรูปแบบค่าเอาต์พุตของสคริปต์ได้
<WideItem>
<ScriptBlock>
[String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</WideItem>
องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อเรียกเมธอด ToString:
- องค์ประกอบ WideItem ระบุข้อมูลที่แสดงโดยมุมมอง
- องค์ประกอบ ScriptBlock (ไม่แสดง) ระบุสคริปต์ที่มีค่าที่จะแสดงตามมุมมอง คุณต้องระบุสคริปต์หรือคุณสมบัติ แต่คุณไม่สามารถระบุทั้งสองอย่างได้
ดูเพิ่มเติม
- มุมมองกว้าง (พื้นฐาน)
- มุมมองกว้าง (GroupBy)
- การเขียนไฟล์การจัดรูปแบบ PowerShell