Bagikan melalui


Membuat Tampilan Daftar

Tampilan daftar menampilkan data dalam satu kolom (dalam urutan berurutan). Data yang ditampilkan dalam daftar bisa menjadi nilai properti .NET atau nilai skrip.

Tampilan Daftar

Output berikut menunjukkan bagaimana Windows PowerShell menampilkan properti objek System.ServiceProcess.ServiceController yang dikembalikan oleh cmdlet Get-Service. Dalam contoh ini, tiga objek dikembalikan, dengan setiap objek dipisahkan dari objek sebelumnya dengan baris kosong.

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

Menentukan Tampilan Daftar

XML berikut menunjukkan skema tampilan daftar untuk menampilkan beberapa properti objek System.ServiceProcess.ServiceController. Anda harus menentukan setiap properti yang ingin Anda tampilkan dalam tampilan daftar.

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

Elemen XML berikut digunakan untuk menentukan tampilan daftar:

  • Elemen Tampilan adalah elemen induk dari tampilan daftar. (Ini adalah elemen induk yang sama untuk tampilan kontrol tabel, lebar, dan kustom.)

  • Elemen Nama menentukan nama tampilan. Elemen ini diperlukan untuk semua tampilan.

  • Elemen ViewSelectedBy menentukan objek yang menggunakan tampilan. Elemen ini diperlukan.

  • Elemen GroupBy menentukan kapan grup objek baru ditampilkan. Grup baru dimulai setiap kali nilai properti atau skrip tertentu berubah. Elemen ini bersifat opsional.

  • Elemen Kontrol menentukan kontrol kustom yang ditentukan oleh tampilan daftar. Kontrol memberi Anda cara untuk menentukan lebih lanjut bagaimana data ditampilkan. Elemen ini bersifat opsional. Tampilan dapat menentukan kontrol kustomnya sendiri, atau dapat menggunakan kontrol umum yang dapat digunakan oleh tampilan apa pun dalam file pemformatan. Untuk informasi selengkapnya tentang kontrol kustom, lihat Membuat Kontrol Kustom.

  • Elemen ListControl menentukan apa yang ditampilkan dalam tampilan dan bagaimana formatnya. Mirip dengan semua tampilan lainnya, tampilan daftar dapat menampilkan nilai properti objek atau nilai yang dihasilkan oleh skrip.

Untuk contoh file pemformatan lengkap yang menentukan tampilan daftar sederhana, lihat Tampilan Daftar (Dasar).

Menyediakan Definisi untuk Tampilan Daftar Anda

Tampilan daftar dapat memberikan satu atau beberapa definisi dengan menggunakan elemen turunan dari elemen ListControl. Biasanya, tampilan hanya akan memiliki satu definisi. Dalam contoh berikut, tampilan menyediakan definisi tunggal yang menampilkan beberapa properti objek System.Diagnostics.Process. Tampilan daftar dapat menampilkan nilai properti atau nilai skrip (tidak diperlihatkan dalam contoh).

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

Elemen XML berikut dapat digunakan untuk menyediakan definisi untuk tampilan daftar:

  • Elemen ListControl dan elemen turunannya menentukan apa yang ditampilkan dalam tampilan.

  • Elemen ListEntries menyediakan definisi tampilan. Dalam kebanyakan kasus, tampilan hanya akan memiliki satu definisi. Elemen ini diperlukan.

  • Elemen ListEntry menyediakan definisi tampilan. Diperlukan setidaknya satu ListEntry; namun, tidak ada batas maksimum untuk jumlah elemen yang dapat Anda tambahkan. Dalam kebanyakan kasus, tampilan hanya akan memiliki satu definisi.

  • Elemen EntrySelectedBy menentukan objek yang ditampilkan oleh definisi tertentu. Elemen ini bersifat opsional dan hanya diperlukan saat Anda menentukan beberapa elemen ListEntry yang menampilkan objek yang berbeda.

  • Elemen ListItems menentukan properti dan skrip yang nilainya ditampilkan dalam baris tampilan daftar.

  • Elemen ListItem menentukan properti atau skrip yang nilainya ditampilkan dalam baris tampilan daftar. Tampilan daftar harus menentukan setidaknya satu properti atau skrip. Tidak ada batas maksimum untuk jumlah baris yang dapat ditentukan.

  • Elemen PropertyName menentukan properti yang nilainya ditampilkan dalam baris. Anda harus menentukan properti atau skrip, tetapi Anda tidak dapat menentukan keduanya.

  • Elemen ScriptBlock menentukan skrip yang nilainya ditampilkan dalam baris. Anda harus menentukan skrip atau properti, tetapi Anda tidak dapat menentukan keduanya.

  • Elemen Label menentukan label yang ditampilkan di sebelah kiri properti atau nilai skrip dalam baris. Elemen ini bersifat opsional. Jika label tidak ditentukan, nama properti atau skrip ditampilkan. Untuk contoh lengkapnya, lihat Tampilan Daftar (Label).

  • Elemen ItemSelectionCondition menentukan kondisi yang harus ada agar baris ditampilkan. Untuk informasi selengkapnya tentang menambahkan kondisi ke tampilan daftar, lihat Menentukan Kondisi untuk Menampilkan Data. Elemen ini bersifat opsional.

  • Elemen FormatString menentukan pola yang digunakan untuk menampilkan nilai properti atau skrip. Elemen ini bersifat opsional.

Untuk contoh file pemformatan lengkap yang menentukan tampilan daftar sederhana, lihat Tampilan Daftar (Dasar).

Menentukan Objek yang Menggunakan Tampilan Daftar

Ada dua cara untuk menentukan objek .NET mana yang menggunakan tampilan daftar. Anda dapat menggunakan elemen ViewSelectedBy untuk menentukan objek yang dapat ditampilkan oleh semua definisi tampilan, atau Anda dapat menggunakan elemen EntrySelectedBy untuk menentukan objek mana yang ditampilkan oleh definisi tampilan tertentu. Dalam kebanyakan kasus, tampilan hanya memiliki satu definisi, sehingga objek biasanya ditentukan oleh elemen ViewSelectedBy.

Contoh berikut menunjukkan cara menentukan objek yang ditampilkan oleh tampilan daftar menggunakan elemen ViewSelectedBy dan TypeName. Tidak ada batasan jumlah elemen TypeName yang dapat Anda tentukan, dan urutannya tidak signifikan.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <ListControl>...</ListControl>
</View>

Elemen XML berikut dapat digunakan untuk menentukan objek yang digunakan oleh tampilan daftar:

  • Elemen ViewSelectedBy menentukan objek mana yang ditampilkan oleh tampilan daftar.

  • Elemen TypeName menentukan objek .NET yang ditampilkan oleh tampilan. Nama jenis .NET yang sepenuhnya memenuhi syarat diperlukan. Anda harus menentukan setidaknya satu jenis atau seleksi yang ditetapkan untuk tampilan, tetapi tidak ada jumlah maksimum elemen yang dapat ditentukan.

Untuk contoh file pemformatan lengkap, lihat Tampilan Daftar (Dasar).

Contoh berikut menggunakan elemen ViewSelectedBy dan SelectionSetName. Gunakan set pilihan tempat Anda memiliki sekumpulan objek terkait yang ditampilkan menggunakan beberapa tampilan, seperti saat Anda menentukan tampilan daftar dan tampilan tabel untuk objek yang sama. Untuk informasi selengkapnya tentang cara membuat kumpulan pilihan, lihat Menentukan Set Pilihan.

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

Elemen XML berikut dapat digunakan untuk menentukan objek yang digunakan oleh tampilan daftar:

  • Elemen ViewSelectedBy menentukan objek mana yang ditampilkan oleh tampilan daftar.

  • Elemen SelectionSetName menentukan sekumpulan objek yang dapat ditampilkan oleh tampilan. Anda harus menentukan setidaknya satu set pilihan atau jenis untuk tampilan, tetapi tidak ada jumlah maksimum elemen yang dapat ditentukan.

Contoh berikut menunjukkan cara menentukan objek yang ditampilkan oleh definisi tertentu dari tampilan daftar menggunakan elemen EntrySelectedBy. Dengan menggunakan elemen ini, Anda dapat menentukan nama jenis .NET objek, sekumpulan objek pilihan, atau kondisi pilihan yang menentukan kapan definisi digunakan. Untuk informasi selengkapnya tentang cara membuat kondisi pilihan, lihat Menentukan Kondisi untuk Menampilkan Data.

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

Elemen XML berikut dapat digunakan untuk menentukan objek yang digunakan oleh definisi tertentu dari tampilan daftar:

  • Elemen EntrySelectedBy menentukan objek mana yang ditampilkan oleh definisi.

  • Elemen TypeName menentukan objek .NET yang ditampilkan oleh definisi. Saat menggunakan elemen ini, nama jenis .NET yang sepenuhnya memenuhi syarat diperlukan. Anda harus menentukan setidaknya satu jenis, set pilihan, atau kondisi pilihan untuk definisi, tetapi tidak ada jumlah maksimum elemen yang dapat ditentukan.

  • Elemen SelectionSetName (tidak ditampilkan) menentukan sekumpulan objek yang dapat ditampilkan oleh definisi ini. Anda harus menentukan setidaknya satu jenis, set pilihan, atau kondisi pilihan untuk definisi, tetapi tidak ada jumlah maksimum elemen yang dapat ditentukan.

  • Elemen SelectionCondition (tidak ditampilkan) menentukan kondisi yang harus ada agar definisi ini digunakan. Anda harus menentukan setidaknya satu jenis, set pilihan, atau kondisi pilihan untuk definisi, tetapi tidak ada jumlah maksimum elemen yang dapat ditentukan. Untuk informasi selengkapnya tentang menentukan kondisi pilihan, lihat Menentukan Kondisi untuk Menampilkan Data.

Menampilkan Grup Objek dalam Tampilan Daftar

Anda dapat memisahkan objek yang ditampilkan oleh tampilan daftar ke dalam grup. Ini tidak berarti bahwa Anda menentukan grup, hanya windows PowerShell yang memulai grup baru setiap kali nilai properti atau skrip tertentu berubah. Dalam contoh berikut, grup baru dimulai setiap kali nilai properti System.ServiceProcess.ServiceController.ServiceType berubah.

<GroupBy>
  <Label>Service Type</Label>
  <PropertyName>ServiceType</PropertyName>
</GroupBy>

Elemen XML berikut digunakan untuk menentukan kapan grup dimulai:

  • Elemen GroupBy menentukan properti atau skrip yang memulai grup baru dan menentukan bagaimana grup ditampilkan.

  • Elemen PropertyName menentukan properti yang memulai grup baru setiap kali nilainya berubah. Anda harus menentukan properti atau skrip untuk memulai grup, tetapi Anda tidak dapat menentukan keduanya.

  • Elemen ScriptBlock menentukan skrip yang memulai grup baru setiap kali nilainya berubah. Anda harus menentukan skrip atau properti untuk memulai grup, tetapi Anda tidak dapat menentukan keduanya.

  • Elemen Label menentukan label yang ditampilkan di awal setiap grup. Selain teks yang ditentukan oleh elemen ini, Windows PowerShell menampilkan nilai yang memicu grup baru dan menambahkan baris kosong sebelum dan sesudah label. Elemen ini bersifat opsional.

  • Elemen CustomControl menentukan kontrol yang digunakan untuk menampilkan data. Elemen ini bersifat opsional.

  • Elemen CustomControlName menentukan kontrol umum atau tampilan yang digunakan untuk menampilkan data. Elemen ini bersifat opsional.

Untuk contoh file pemformatan lengkap yang menentukan grup, lihat Tampilan Daftar (GroupBy).

Menggunakan Format String

String pemformatan dapat ditambahkan ke tampilan untuk menentukan lebih lanjut bagaimana data ditampilkan. Contoh berikut menunjukkan cara menentukan string pemformatan untuk nilai properti StartTime.

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

Elemen XML berikut dapat digunakan untuk menentukan pola format:

  • Elemen ListItem menentukan data yang ditampilkan oleh tampilan.

  • Elemen PropertyName menentukan properti yang nilainya ditampilkan oleh tampilan. Anda harus menentukan properti atau skrip, tetapi Anda tidak dapat menentukan keduanya.

  • Elemen FormatString menentukan pola format yang menentukan bagaimana nilai properti atau skrip ditampilkan dalam tampilan.

  • Elemen ScriptBlock (tidak ditampilkan) menentukan skrip yang nilainya ditampilkan oleh tampilan. Anda harus menentukan skrip atau properti, tetapi Anda tidak dapat menentukan keduanya.

Dalam contoh berikut, metode ToString dipanggil untuk memformat nilai skrip. Skrip dapat memanggil metode objek apa pun. Oleh karena itu, jika objek memiliki metode, seperti ToString, yang memiliki parameter pemformatan, skrip dapat memanggil metode tersebut untuk memformat nilai output skrip.

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

Elemen XML berikut dapat digunakan untuk memanggil metode ToString:

  • Elemen ListItem menentukan data yang ditampilkan oleh tampilan.

  • Elemen ScriptBlock (tidak ditampilkan) menentukan skrip yang nilainya ditampilkan oleh tampilan. Anda harus menentukan skrip atau properti, tetapi Anda tidak dapat menentukan keduanya.

Lihat Juga

Menulis Cmdlet Windows PowerShell