Tablo Görünümü Oluşturma

Tablo görünümü bir veya daha fazla sütundaki verileri görüntüler. Tablodaki her satır bir .NET nesnesini temsil eder ve tablonun her sütunu nesnenin veya betik değerinin bir özelliğini temsil eder. Bir nesnenin tüm özelliklerini veya bir nesnenin özelliklerinin bir alt kümesini görüntüleyen bir tablo görünümü tanımlayabilirsiniz.

Tablo Görünümü Görünümü

Aşağıdaki örnekte, get-Service cmdlet'i tarafından Windows PowerShell System.Serviceprocess.Servicecontroller nesnesinin nasıl görüntülediğini gösterir. Bu nesne için Windows PowerShell, özelliği (bu özellik özelliğin diğer ad özelliğidir) ve özelliğini görüntüleyen bir tablo Status Name görünümü ServiceName DisplayName tanımladı. Tablodaki her satır, cmdlet tarafından döndürülen bir nesneyi temsil eder.

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

Tablo Görünümünü Tanımlama

Aşağıdaki XML, System.Serviceprocess.Servicecontroller'ın görüntülenmesine ilişkin tablo görünümü şemasını gösterir. Displayproperty=Fullname nesnesi. Tablo görünümünde görüntülenebilir istediğiniz her özelliği belirtmeniz gerekir.

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

Liste görünümü tanımlamak için aşağıdaki XML öğeleri kullanılır:

  • Görünüm öğesi, tablo görünümünün üst öğesidir. (Bu, liste, geniş ve özel denetim görünümleri için aynı üst öğedir.)

  • Name öğesi görünümün adını belirtir. Bu öğe tüm görünümler için gereklidir.

  • ViewSelectedBy öğesi, görünümü kullanan nesneleri tanımlar. Bu öğe gereklidir.

  • GroupBy öğesi (bu örnekte gösterilmez) yeni bir nesne grubunun ne zaman görüntülendiğinde tanımlar. Belirli bir özelliğin veya betiğin değeri her değişirse yeni bir grup başlatıldı. Bu öğe isteğe bağlıdır.

  • Denetimler öğesi (bu örnekte gösterilmez), tablo görünümü tarafından tanımlanan özel denetimleri tanımlar. Denetimler, verilerin nasıl görüntülendiğinden daha fazla bilgi için bir yol sağlar. Bu öğe isteğe bağlıdır. Görünüm kendi özel denetimlerini tanımlayabilir veya biçimlendirme dosyasındaki herhangi bir görünüm tarafından kullanılmaktadır ortak denetimleri kullanabilir. Özel denetimler hakkında daha fazla bilgi için bkz. Özel Denetimler Oluşturma.

  • HideTableHeaders öğesi (bu örnekte göster değil) tablonun tablonun en üstünde hiçbir etiket göstermeyeceklerini belirtir. Bu öğe isteğe bağlıdır.

  • Tablonun üst bilgisini ve satır bilgilerini tanımlayan TableControl öğesi. Diğer tüm görünümlere benzer şekilde, tablo görünümü de nesne özelliklerinin veya betikler tarafından oluşturulan değerlerin değerlerini görüntüler.

Sütun Üst Bilgilerini Tanımlama

  1. TableHeaders öğesi ve alt öğeleri tablonun en üstünde görüntülenen öğeleri tanımlar.

  2. TableColumnHeader öğesi, tablonun sütunlarının en üstünde görüntülenenleri tanımlar. Bu öğeleri üst bilgileri görüntülenebilir istediğiniz sırada belirtin.

    Kullanabileceğiniz bu öğe sayısıyla ilgili bir sınır yoktur, ancak tablo görünümdeki TableColumnHeader öğelerinin sayısı, kullanmakta olduğu TableRowEntry öğelerinin sayısına eşit olması gerekir.

  3. Label öğesi görüntülenen metni belirtir. Bu öğe isteğe bağlıdır.

  4. Width öğesi sütunun genişliğini (karakter olarak) belirtir. Bu öğe isteğe bağlıdır.

  5. Hizalama öğesi etiketin nasıl görüntülendiğinden emin olur. Etiket sola, sağa hizalanmış veya ortalanmış olabilir. Bu öğe isteğe bağlıdır.

Tablo Satırlarını Tanımlama

Tablo görünümleri, TableRowEntries öğesinin alt öğeleri kullanılarak tablonun satırlarında hangi verilerin görüntülenmiyor olduğunu belirten bir veya daha fazla tanım sağlar. Tablonun satırları için birden çok tanım belirtebilirsiniz ancak hangi satır tanımının kullanılırsa kullansın satırların üst bilgileri aynı kalır. Genellikle, bir tablonun yalnızca bir tanımı olur.

Aşağıdaki örnekte, görünüm System.Diagnostics.Process'in çeşitli özelliklerinin değerlerini görüntüleyen tek bir tanım sağlar. Displayproperty=Fullname nesnesi. Tablo görünümü, bir özelliğin değerini veya bir betiğin değerini (örnekte gösterilmez) satırlarında görüntüler.

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

Bir satır için tanım sağlamak için aşağıdaki XML öğeleri kullanılabilir:

  • TableRowEntries öğesi ve alt öğeleri, tablonun satırlarında görüntülenen öğeleri tanımlar.

  • TableRowEntry öğesi, satırın tanımını sağlar. En az bir TableRowEntry gereklidir; ancak, ekln öğe sayısı için bir üst sınır yoktur. Çoğu durumda bir görünümde yalnızca bir tanım vardır.

  • EntrySelectedBy öğesi, belirli bir tanım tarafından görüntülenen nesneleri belirtir. Bu öğe isteğe bağlıdır ve yalnızca farklı nesneleri görüntülayan birden çok TableRowEntry öğesi tanımladığınız zaman gereklidir.

  • Wrap öğesi, sütun genişliğini aşan metnin sonraki satırda görüntülendiğinden belirtir. Varsayılan olarak sütun genişliğini aşan metinler kesilir.

  • TableColumnItems öğesi, değerleri satırda görüntülenen özellikleri veya betikleri tanımlar.

  • TableColumnItem öğesi, değeri satırın sütununda görüntülenen özelliği veya betiği tanımlar. Satırın her sütunu için TableColumnItem öğesi gereklidir. İlk giriş ilk sütunda, ikinci sütundaki ikinci girdide ve bu şekilde devam etti.

  • PropertyName öğesi, değeri satırda görüntülenen özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak ikisini de belirtemezseniz.

  • ScriptBlock öğesi, değeri satırda görüntülenen betiği belirtir. Bir betik veya özellik belirtmeniz gerekir, ancak her ikisini de belirtemezseniz.

  • FormatString öğesi, özellik veya betik değerinin nasıl görüntülendiğinden tanımlayan bir biçim deseni belirtir. Bu öğe isteğe bağlıdır.

  • Hizalama öğesi, özelliğin veya betiğin değerinin nasıl görüntülenmiyor olduğunu belirtir. Değer sola, sağa hizalanmış veya ortalanmış olabilir. Bu öğe isteğe bağlıdır.

Tablo Görünümünü Kullanan Nesneleri Tanımlama

Hangi .NET nesnelerinin tablo görünümünü kullanabileceğini tanımlamanın iki yolu vardır. ViewSelectedBy öğesini kullanarak görünümün tüm tanımları tarafından görüntülenebilir nesneleri tanımlayabilir veya hangi nesnelerin görünümün belirli bir tanımı tarafından görüntülendiğinden emin olmak için EntrySelectedBy öğesini kullanabilirsiniz. Çoğu durumda, bir görünümde yalnızca bir tanım vardır, bu nedenle nesneler genellikle ViewSelectedBy öğesiyle tanımlanır.

Aşağıdaki örnekte ViewSelectedBy ve TypeName öğeleri kullanılarak tablo görünümü tarafından görüntülenen nesnelerin nasıl tanımladığınız gösterilir. Belirtilemeyen TypeName öğelerinin sayısıyla ilgili bir sınır yoktur ve bunların sırası önemli değildir.

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

Tablo görünümü tarafından kullanılan nesneleri belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • ViewSelectedBy öğesi, liste görünümü tarafından hangi nesnelerin görüntülendiğinden emin olur.

  • TypeName öğesi, görünüm tarafından görüntülenen .NET nesnesini belirtir. Tam .NET türü adı gereklidir. Görünüm için en az bir tür veya seçim kümesi belirtmeniz gerekir, ancak belirtilebilir en fazla öğe sayısı yoktur.

Aşağıdaki örnek ViewSelectedBy ve SelectionSetName öğelerini kullanır. Aynı nesneler için bir liste görünümü ve tablo görünümü tanımlama gibi birden çok görünüm kullanılarak görüntülenen ilgili bir nesne kümeniz olduğu seçim kümelerini kullanın. Seçim kümesi oluşturma hakkında daha fazla bilgi için bkz. Seçim Kümelerini Tanımlama.

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

Liste görünümü tarafından kullanılan nesneleri belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • ViewSelectedBy öğesi, liste görünümü tarafından hangi nesnelerin görüntülendiğinden emin olur.

  • SelectionSetName öğesi, görünüm tarafından görüntülenemeyen bir nesne kümesi belirtir. Görünüm için en az bir seçim kümesi veya tür belirtmeniz gerekir, ancak belirtilebilir en fazla öğe sayısı yoktur.

Aşağıdaki örnek EntrySelectedBy öğesini kullanarak tablo görünümünün belirli bir tanımı tarafından görüntülenen nesneleri tanımlamayı gösterir. Bu öğeyi kullanarak nesnenin .NET türü adını, bir nesne seçim kümesi veya tanımın ne zaman kullan olduğunu belirten bir seçim koşulu belirtebilirsiniz. Seçim koşulları oluşturma hakkında daha fazla bilgi için bkz. Verileri Görüntülemek için Koşulları Tanımlama.

Not

Tablo görünümünün birden çok tanımını oluştururken farklı sütun üst bilgileri belirtemezseniz. Yalnızca tablonun satırlarında nelerin görüntülendiğinden (örneğin, hangi nesnelerin görüntülendiğinden) belirtebilirsiniz.

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

Aşağıdaki XML öğeleri, liste görünümünün belirli bir tanımı tarafından kullanılan nesneleri belirtmek için kullanılabilir:

  • EntrySelectedBy öğesi, tanım tarafından hangi nesnelerin görüntülendiğinden emin olur.

  • TypeName öğesi, tanım tarafından görüntülenen .NET nesnesini belirtir. Bu öğe kullanılırken, tam .NET türü adı gereklidir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebilir en fazla öğe sayısı yoktur.

  • SelectionSetName öğesi (gösterilmez), bu tanım tarafından görüntülenemeyen bir nesne kümesi belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebilir en fazla öğe sayısı yoktur.

  • SelectionCondition öğesi (gösterilmez), bu tanımın kullanılası için mevcut olması gereken bir koşulu belirtir. Tanım için en az bir tür, seçim kümesi veya seçim koşulu belirtmeniz gerekir, ancak belirtilebilir en fazla öğe sayısı yoktur. Seçim koşullarını tanımlama hakkında daha fazla bilgi için bkz. Verileri Görüntülemek için Koşulları Tanımlama.

Biçim Dizelerini Kullanma

Verilerin nasıl görüntülendiğinden daha fazla tanımlamak için bir görünüme biçimlendirme dizeleri eklenebilir. Aşağıdaki örnekte, özelliğin değeri için biçimlendirme dizesinin nasıl tanımladığınız StartTime gösterir.

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

Biçim deseni belirtmek için aşağıdaki XML öğeleri kullanılabilir:

  • TableColumnItem öğesi, değeri satırın sütununda görüntülenen özelliği veya betiği tanımlar. Satırın her sütunu için TableColumnItem öğesi gereklidir. İlk giriş ilk sütunda, ikinci sütundaki ikinci girdide ve bu şekilde devam etti.

  • PropertyName öğesi, değeri satırda görüntülenen özelliği belirtir. Bir özellik veya betik belirtmeniz gerekir, ancak ikisini de belirtemezseniz.

  • FormatString öğesi, özellik veya betik değerinin nasıl görüntülendiğinden tanımlayan bir biçim deseni belirtir.

Aşağıdaki örnekte, ToString betiğin değerini biçimlendirmek için yöntemi çağrılır. Betikler bir nesnenin herhangi bir yöntemini çağırabilirsiniz. Bu nedenle, bir nesnenin biçimlendirme parametreleri olan gibi bir yöntemi varsa betik, betiğin çıkış değerini biçimlendirmek için bu ToString yöntemi çağırabilirsiniz.

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

Aşağıdaki XML öğesi yöntemini çağırarak ToString kullanılabilir:

  • TableColumnItem öğesi, değeri satırın sütununda görüntülenen özelliği veya betiği tanımlar. Satırın her sütunu için TableColumnItem öğesi gereklidir. İlk giriş ilk sütunda, ikinci sütundaki ikinci girdide ve bu şekilde devam etti.

  • ScriptBlock öğesi, değeri satırda görüntülenen betiği belirtir. Bir betik veya özellik belirtmeniz gerekir, ancak her ikisini de belirtemezseniz.

Ayrıca Bkz.

PowerShell Biçimlendirme Dosyası Yazma