ค้นหาเว็บไซต์

การสร้างมุมมองตาราง


มุมมองตารางจะแสดงข้อมูลในหนึ่งคอลัมน์ขึ้นไป แต่ละแถวในตารางแสดงถึงวัตถุ .NET และแต่ละคอลัมน์ของตารางแสดงถึงคุณสมบัติของวัตถุหรือค่าสคริปต์ คุณสามารถกำหนดมุมมองตารางที่แสดงคุณสมบัติทั้งหมดของวัตถุหรือชุดย่อยของคุณสมบัติของวัตถุได้

การแสดงมุมมองตาราง

ตัวอย่างต่อไปนี้แสดงวิธีที่ Windows PowerShell แสดงวัตถุ System.Serviceprocess.Servicecontroller ที่ส่งคืนโดย Get-Service cmdlet สำหรับวัตถุนี้ Windows PowerShell ได้กำหนดมุมมองตารางที่แสดงคุณสมบัติ สถานะ ซึ่งเป็นคุณสมบัติ ชื่อ (คุณสมบัตินี้เป็นคุณสมบัตินามแฝงสำหรับ ServiceName > คุณสมบัติ) และคุณสมบัติ DisplayName แต่ละแถวในตารางแสดงถึงวัตถุที่ส่งกลับโดย cmdlet

Status   Name               DisplayName
------   ----               -----------
Stopped  AJRouter           AllJoyn Router Service
Stopped  ALG                Application Layer Gateway Service
Stopped  AppIDSvc           Application Identity
Running  Appinfo            Application Information

การกำหนดมุมมองตาราง

XML ต่อไปนี้แสดงสคีมามุมมองตารางสำหรับการแสดงวัตถุ System.Serviceprocess.Servicecontroller?Displayproperty=Fullname คุณต้องระบุแต่ละคุณสมบัติที่คุณต้องการให้แสดงในมุมมองตาราง

<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>

องค์ประกอบ XML ต่อไปนี้จะใช้ในการกำหนดมุมมองรายการ:

  • องค์ประกอบมุมมองเป็นองค์ประกอบหลักของมุมมองตาราง (นี่เป็นองค์ประกอบหลักเดียวกันสำหรับรายการ มุมมองแบบกว้าง และมุมมองการควบคุมแบบกำหนดเอง)

  • องค์ประกอบชื่อระบุชื่อของมุมมอง องค์ประกอบนี้จำเป็นสำหรับทุกมุมมอง

  • องค์ประกอบ ViewSelectedBy กำหนดวัตถุที่ใช้มุมมอง จำเป็นต้องมีองค์ประกอบนี้

  • องค์ประกอบ GroupBy (ไม่แสดงในตัวอย่างนี้) กำหนดเมื่อกลุ่มใหม่ของวัตถุจะปรากฏขึ้น กลุ่มใหม่จะเริ่มต้นเมื่อใดก็ตามที่ค่าของคุณสมบัติหรือสคริปต์เฉพาะมีการเปลี่ยนแปลง องค์ประกอบนี้เป็นทางเลือก

  • องค์ประกอบการควบคุม (ไม่แสดงในตัวอย่างนี้) กำหนดการควบคุมแบบกำหนดเองที่กำหนดโดยมุมมองตาราง การควบคุมช่วยให้คุณระบุวิธีการแสดงข้อมูลเพิ่มเติมได้ องค์ประกอบนี้เป็นทางเลือก มุมมองสามารถกำหนดตัวควบคุมแบบกำหนดเองของตัวเองได้ หรือใช้ตัวควบคุมทั่วไปที่สามารถใช้โดยมุมมองใดก็ได้ในไฟล์การจัดรูปแบบ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการควบคุมแบบกำหนดเอง โปรดดู การสร้างการควบคุมแบบกำหนดเอง

  • องค์ประกอบ HideTableHeaders (ไม่แสดงในตัวอย่างนี้) ระบุว่าตารางจะไม่แสดงป้ายกำกับใดๆ ที่ด้านบนของตาราง องค์ประกอบนี้เป็นทางเลือก

  • องค์ประกอบ TableControl ที่กำหนดข้อมูลส่วนหัวและแถวของตาราง เช่นเดียวกับมุมมองอื่นๆ ทั้งหมด มุมมองตารางสามารถแสดงค่าของคุณสมบัติของวัตถุหรือค่าที่สร้างโดยสคริปต์

การกำหนดส่วนหัวของคอลัมน์

  1. องค์ประกอบ TableHeaders และองค์ประกอบย่อยจะกำหนดสิ่งที่แสดงที่ด้านบนของตาราง

  2. องค์ประกอบ TableColumnHeader กำหนดสิ่งที่จะแสดงที่ด้านบนของคอลัมน์ของตาราง ระบุองค์ประกอบเหล่านี้ตามลำดับที่คุณต้องการให้แสดงส่วนหัว

    ไม่มีการจำกัดจำนวนองค์ประกอบเหล่านี้ที่คุณสามารถใช้ได้ แต่จำนวนองค์ประกอบ TableColumnHeader ในมุมมองตารางของคุณจะต้องเท่ากับจำนวนองค์ประกอบ TableRowEntry ที่คุณใช้

  3. องค์ประกอบป้ายกำกับระบุข้อความที่แสดง องค์ประกอบนี้เป็นทางเลือก

  4. องค์ประกอบความกว้างระบุความกว้าง (เป็นอักขระ) ของคอลัมน์ องค์ประกอบนี้เป็นทางเลือก

  5. องค์ประกอบการจัดตำแหน่งจะระบุวิธีการแสดงป้ายกำกับ ป้ายกำกับสามารถจัดชิดซ้าย ไปทางขวา หรือกึ่งกลางได้ องค์ประกอบนี้เป็นทางเลือก

การกำหนดแถวของตาราง

มุมมองตารางสามารถให้คำจำกัดความตั้งแต่หนึ่งรายการขึ้นไปที่ระบุข้อมูลที่จะแสดงในแถวของตารางโดยใช้องค์ประกอบลูกขององค์ประกอบ TableRowEntries โปรดสังเกตว่าคุณสามารถระบุคำจำกัดความได้หลายคำสำหรับแถวของตาราง แต่ส่วนหัวของแถวยังคงเหมือนเดิม ไม่ว่าจะใช้คำนิยามแถวใดก็ตาม โดยทั่วไปแล้ว ตารางจะมีคำจำกัดความเพียงคำเดียวเท่านั้น

ในตัวอย่างต่อไปนี้ มุมมองให้คำจำกัดความเดียวที่แสดงค่าของคุณสมบัติต่างๆ ของอ็อบเจ็กต์ System.Diagnostics.Process?Displayproperty=Fullname มุมมองตารางสามารถแสดงค่าของคุณสมบัติหรือค่าของสคริปต์ (ไม่แสดงในตัวอย่าง) ในแถวได้

<TableRowEntries>
      <TableRowEntry>
        <TableColumnItems>
          <TableColumnItem>
           <PropertyName>Status</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>Name</PropertyName>
          </TableColumnItem>
          <TableColumnItem>
            <PropertyName>DisplayName</PropertyName>
          </TableColumnItem>
        </TableColumnItems>
      </TableRowEntry>
    </TableRowEntries>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อให้คำจำกัดความสำหรับแถว:

  • องค์ประกอบ TableRowEntries และองค์ประกอบย่อยจะกำหนดสิ่งที่แสดงในแถวของตาราง

  • องค์ประกอบ TableRowEntry ให้คำจำกัดความของแถว ต้องมี TableRowEntry อย่างน้อยหนึ่งรายการ อย่างไรก็ตาม คุณสามารถเพิ่มองค์ประกอบได้ไม่จำกัดจำนวน ในกรณีส่วนใหญ่ มุมมองจะมีคำจำกัดความเดียวเท่านั้น

  • องค์ประกอบ EntrySelectedBy ระบุออบเจ็กต์ที่แสดงตามคำจำกัดความเฉพาะ องค์ประกอบนี้เป็นทางเลือกและจำเป็นเฉพาะเมื่อคุณกำหนดองค์ประกอบ TableRowEntry หลายองค์ประกอบที่แสดงออบเจ็กต์ที่แตกต่างกัน

  • องค์ประกอบ Wrap ระบุว่าข้อความที่เกินความกว้างของคอลัมน์จะแสดงในบรรทัดถัดไป ตามค่าเริ่มต้น ข้อความที่เกินความกว้างของคอลัมน์จะถูกตัดทอน

  • องค์ประกอบ TableColumnItems กำหนดคุณสมบัติหรือสคริปต์ที่มีค่าแสดงในแถว

  • องค์ประกอบ TableColumnItem กำหนดคุณสมบัติหรือสคริปต์ที่มีค่าแสดงในคอลัมน์ของแถว จำเป็นต้องมีองค์ประกอบ TableColumnItem สำหรับแต่ละคอลัมน์ของแถว รายการแรกจะแสดงในคอลัมน์แรก รายการที่สองในคอลัมน์ที่สอง และอื่นๆ

  • องค์ประกอบ PropertyName ระบุคุณสมบัติที่มีค่าจะแสดงอยู่ในแถว คุณต้องระบุคุณสมบัติหรือสคริปต์ แต่คุณไม่สามารถระบุทั้งสองอย่างได้

  • องค์ประกอบ ScriptBlock ระบุสคริปต์ที่มีค่าแสดงในแถว คุณต้องระบุสคริปต์หรือคุณสมบัติ แต่คุณไม่สามารถระบุทั้งสองอย่างได้

  • องค์ประกอบ FormatString ระบุรูปแบบรูปแบบที่กำหนดวิธีการแสดงคุณสมบัติหรือค่าสคริปต์ องค์ประกอบนี้เป็นทางเลือก

  • องค์ประกอบการจัดตำแหน่งจะระบุวิธีการแสดงค่าของคุณสมบัติหรือสคริปต์ ค่าสามารถจัดชิดซ้าย ไปทางขวา หรือกึ่งกลางได้ องค์ประกอบนี้เป็นทางเลือก

การกำหนดวัตถุที่ใช้มุมมองตาราง

มีสองวิธีในการกำหนดว่าวัตถุ .NET ใดใช้มุมมองตาราง คุณสามารถใช้องค์ประกอบ ViewSelectedBy เพื่อกำหนดออบเจ็กต์ที่สามารถแสดงตามคำจำกัดความทั้งหมดของมุมมอง หรือคุณสามารถใช้องค์ประกอบ EntrySelectedBy เพื่อกำหนดว่าออบเจ็กต์ใดจะแสดงตามคำจำกัดความเฉพาะของมุมมอง ในกรณีส่วนใหญ่ มุมมองจะมีคำจำกัดความเดียวเท่านั้น ดังนั้น โดยทั่วไปแล้วออบเจ็กต์จะถูกกำหนดโดยองค์ประกอบ ViewSelectedBy

ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดวัตถุที่แสดงโดยมุมมองตารางโดยใช้องค์ประกอบ ViewSelectedBy และ TypeName ไม่มีการจำกัดจำนวนองค์ประกอบ TypeName ที่คุณสามารถระบุได้ และลำดับขององค์ประกอบนั้นไม่มีนัยสำคัญ

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.ServiceProcess.ServiceController</TypeName>
  </ViewSelectedBy>
  <TableControl>...</TableControl>
</View>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุวัตถุที่ใช้โดยมุมมองตาราง:

  • องค์ประกอบ ViewSelectedBy กำหนดวัตถุที่จะแสดงโดยมุมมองรายการ

  • องค์ประกอบ TypeName ระบุวัตถุ .NET ที่แสดงโดยมุมมอง จำเป็นต้องมีชื่อประเภท .NET แบบเต็ม คุณต้องระบุอย่างน้อยหนึ่งประเภทหรือชุดการเลือกสำหรับมุมมอง แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้

ตัวอย่างต่อไปนี้ใช้องค์ประกอบ ViewSelectedBy และ SelectionSetName ใช้ชุดการเลือกที่คุณมีชุดวัตถุที่เกี่ยวข้องซึ่งแสดงโดยใช้หลายมุมมอง เช่น เมื่อคุณกำหนดมุมมองรายการและมุมมองตารางสำหรับวัตถุเดียวกัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างชุดการเลือก โปรดดูที่ การกำหนดชุดการเลือก

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <TableControl>...</TableControl>
</View>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุวัตถุที่ใช้โดยมุมมองรายการ:

  • องค์ประกอบ ViewSelectedBy กำหนดวัตถุที่จะแสดงโดยมุมมองรายการ

  • องค์ประกอบ SelectionSetName ระบุชุดของออบเจ็กต์ที่สามารถแสดงได้โดยมุมมอง คุณต้องระบุชุดการเลือกหรือประเภทอย่างน้อยหนึ่งรายการสำหรับมุมมอง แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้

ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดออบเจ็กต์ที่แสดงโดยคำจำกัดความเฉพาะของมุมมองตารางโดยใช้องค์ประกอบ EntrySelectedBy การใช้องค์ประกอบนี้ คุณสามารถระบุชื่อประเภท .NET ของออบเจ็กต์ ชุดการเลือกของออบเจ็กต์ หรือเงื่อนไขการเลือกที่ระบุว่าจะใช้ข้อกำหนดเมื่อใด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างเงื่อนไขการเลือก โปรดดูที่ การกำหนดเงื่อนไขสำหรับการแสดงข้อมูล

บันทึก

เมื่อสร้างคำจำกัดความหลายรายการของมุมมองตาราง คุณจะไม่สามารถระบุส่วนหัวของคอลัมน์ที่แตกต่างกันได้ คุณสามารถระบุได้เฉพาะสิ่งที่จะแสดงในแถวของตาราง เช่น วัตถุที่จะแสดง

<TableRowEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</TableRowEntry>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุวัตถุที่ใช้โดยคำจำกัดความเฉพาะของมุมมองรายการ:

  • องค์ประกอบ EntrySelectedBy กำหนดว่าวัตถุใดจะแสดงตามคำจำกัดความ

  • องค์ประกอบ TypeName ระบุวัตถุ .NET ที่แสดงตามข้อกำหนด เมื่อใช้องค์ประกอบนี้ จำเป็นต้องมีชื่อประเภท .NET แบบเต็ม คุณต้องระบุอย่างน้อยหนึ่งประเภท ชุดการเลือก หรือเงื่อนไขการเลือกสำหรับคำจำกัดความ แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้

  • องค์ประกอบ SelectionSetName (ไม่แสดง) ระบุชุดของออบเจ็กต์ที่สามารถแสดงได้โดยคำจำกัดความนี้ คุณต้องระบุอย่างน้อยหนึ่งประเภท ชุดการเลือก หรือเงื่อนไขการเลือกสำหรับคำจำกัดความ แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้

  • องค์ประกอบ SelectionCondition (ไม่แสดง) ระบุเงื่อนไขที่ต้องมีเพื่อให้คำจำกัดความนี้ถูกนำมาใช้ คุณต้องระบุอย่างน้อยหนึ่งประเภท ชุดการเลือก หรือเงื่อนไขการเลือกสำหรับคำจำกัดความ แต่ไม่สามารถระบุจำนวนองค์ประกอบสูงสุดได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดเงื่อนไขการเลือก โปรดดูที่ การกำหนดเงื่อนไขสำหรับการแสดงข้อมูล

การใช้รูปแบบสตริง

สามารถเพิ่มสตริงการจัดรูปแบบลงในมุมมองเพื่อกำหนดวิธีการแสดงข้อมูลเพิ่มเติมได้ ตัวอย่างต่อไปนี้แสดงวิธีการกำหนดสตริงการจัดรูปแบบสำหรับค่าของคุณสมบัติ StartTime

<TableColumnItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</TableColumnItem>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อระบุรูปแบบรูปแบบ:

  • องค์ประกอบ TableColumnItem กำหนดคุณสมบัติหรือสคริปต์ที่มีค่าแสดงในคอลัมน์ของแถว จำเป็นต้องมีองค์ประกอบ TableColumnItem สำหรับแต่ละคอลัมน์ของแถว รายการแรกจะแสดงในคอลัมน์แรก รายการที่สองในคอลัมน์ที่สอง และอื่นๆ

  • องค์ประกอบ PropertyName ระบุคุณสมบัติที่มีค่าจะแสดงอยู่ในแถว คุณต้องระบุคุณสมบัติหรือสคริปต์ แต่คุณไม่สามารถระบุทั้งสองอย่างได้

  • องค์ประกอบ FormatString ระบุรูปแบบรูปแบบที่กำหนดวิธีการแสดงคุณสมบัติหรือค่าสคริปต์

ในตัวอย่างต่อไปนี้ มีการเรียกเมธอด ToString เพื่อจัดรูปแบบค่าของสคริปต์ สคริปต์สามารถเรียกวิธีการใดๆ ของอ็อบเจ็กต์ได้ ดังนั้น หากวัตถุมีเมธอด เช่น ToString ที่มีพารามิเตอร์การจัดรูปแบบ สคริปต์สามารถเรียกเมธอดนั้นเพื่อจัดรูปแบบค่าเอาต์พุตของสคริปต์ได้

<ListItem>
  <ScriptBlock>
    [String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</ListItem>

องค์ประกอบ XML ต่อไปนี้สามารถใช้เพื่อเรียกเมธอด ToString:

  • องค์ประกอบ TableColumnItem กำหนดคุณสมบัติหรือสคริปต์ที่มีค่าแสดงในคอลัมน์ของแถว จำเป็นต้องมีองค์ประกอบ TableColumnItem สำหรับแต่ละคอลัมน์ของแถว รายการแรกจะแสดงในคอลัมน์แรก รายการที่สองในคอลัมน์ที่สอง และอื่นๆ

  • องค์ประกอบ ScriptBlock ระบุสคริปต์ที่มีค่าแสดงในแถว คุณต้องระบุสคริปต์หรือคุณสมบัติ แต่คุณไม่สามารถระบุทั้งสองอย่างได้

ดูเพิ่มเติม

การเขียนไฟล์การจัดรูปแบบ PowerShell

บทความที่เกี่ยวข้อง