Bagikan melalui


Membuat Tampilan Luas

Tampilan lebar menampilkan satu nilai untuk setiap objek yang ditampilkan. Nilai yang ditampilkan bisa menjadi nilai properti objek .NET atau nilai skrip. Secara default, tidak ada label atau header untuk tampilan ini.

Tampilan Lebar

Contoh berikut menunjukkan bagaimana Windows PowerShell menampilkan System.Diagnostics.Process objek yang dikembalikan oleh cmdlet Get-Process saat outputnya disalurkan ke cmdlet Format-Wide. (Secara default, cmdlet Get-Process mengembalikan tampilan tabel.) Dalam contoh ini, dua kolom digunakan untuk menampilkan nama proses untuk setiap objek yang dikembalikan. Nama properti objek tidak ditampilkan, hanya nilai properti .

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

Menentukan Tampilan Lebar

XML berikut menunjukkan skema tampilan lebar untuk objek 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>

Elemen XML berikut digunakan untuk menentukan tampilan lebar:

  • Elemen Tampilan adalah elemen induk dari tampilan lebar. (Ini adalah elemen induk yang sama untuk tampilan tabel, daftar, dan kontrol 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 lebar. 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 WideControl dan elemen turunannya menentukan apa yang ditampilkan dalam tampilan. Dalam contoh sebelumnya, tampilan dirancang untuk menampilkan properti System.Diagnostics.Process.ProcessName.

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

Memberikan Definisi untuk Tampilan Lebar Anda

Tampilan lebar dapat memberikan satu atau beberapa definisi dengan menggunakan elemen turunan dari elemen WideControl. Biasanya, tampilan hanya akan memiliki satu definisi. Dalam contoh berikut, tampilan menyediakan satu definisi yang menampilkan properti System.Diagnostics.Process.ProcessName. Tampilan lebar dapat menampilkan nilai properti atau nilai skrip (tidak ditampilkan dalam contoh).

<WideControl>
  <AutoSize/>
  <ColumnNumber></ColumnNumber>
  <WideEntries>
    <WideEntry>
      <WideItem>
        <PropertyName>ProcessName</PropertyName>
      </WideItem>
    </WideEntry>
  </WideEntries>
</WideControl>

Elemen XML berikut dapat digunakan untuk memberikan definisi untuk tampilan yang luas:

  • Elemen WideControl dan elemen turunannya menentukan apa yang ditampilkan dalam tampilan.
  • Elemen AutoSize menentukan apakah ukuran kolom dan jumlah kolom disesuaikan berdasarkan ukuran data. Elemen ini bersifat opsional.
  • Elemen ColumnNumber menentukan jumlah kolom yang ditampilkan dalam tampilan lebar. Elemen ini bersifat opsional.
  • Elemen WideEntries menyediakan definisi tampilan. Dalam kebanyakan kasus, tampilan hanya akan memiliki satu definisi. Elemen ini diperlukan.
  • Elemen WideEntry memberikan definisi tampilan. Diperlukan setidaknya satu WideEntry; 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 ketika Anda menentukan beberapa elemen WideEntry yang menampilkan objek yang berbeda.
  • Elemen WideItem menentukan data yang ditampilkan oleh tampilan. Berbeda dengan jenis tampilan lainnya, kontrol lebar hanya dapat menampilkan satu item.
  • Elemen PropertyName menentukan properti yang nilainya ditampilkan oleh tampilan. Anda harus menentukan properti atau skrip, tetapi Anda tidak dapat menentukan keduanya.
  • Elemen ScriptBlock menentukan skrip yang nilainya ditampilkan oleh tampilan. Anda harus menentukan skrip atau properti, tetapi Anda tidak dapat menentukan keduanya.
  • Elemen FormatString menentukan pola yang digunakan untuk menampilkan data. Elemen ini bersifat opsional.

Untuk contoh file pemformatan lengkap yang menentukan definisi tampilan yang luas, lihat Tampilan Lebar (Dasar).

Menentukan Objek yang Menggunakan Tampilan Lebar

Ada dua cara untuk menentukan objek .NET mana yang menggunakan tampilan lebar. 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 lebar 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>
  <WideControl>...</WideControl>
</View>

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

  • Elemen ViewSelectedBy menentukan objek mana yang ditampilkan oleh tampilan lebar.
  • Elemen TypeName menentukan .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 Lebar (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 lebar 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>
  <WideControl>...</WideControl>
</View>

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

  • Elemen ViewSelectedBy menentukan objek mana yang ditampilkan oleh tampilan lebar.
  • 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 lebar 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.

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

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

  • Elemen EntrySelectedBy menentukan objek mana yang ditampilkan oleh definisi.
  • Elemen TypeName menentukan .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 Lebar

Anda dapat memisahkan objek yang ditampilkan oleh tampilan lebar ke dalam grup. Ini tidak berarti Bahwa Anda menentukan grup, hanya bahwa Windows PowerShell 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 Lebar (GroupBy).

Menggunakan Format String

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

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

Elemen XML berikut dapat digunakan untuk menentukan pola format:

  • Elemen WideItem 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.

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

Elemen XML berikut dapat digunakan untuk memanggil metode ToString:

  • Elemen WideItem 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