Aracılığıyla paylaş


Tahmin ızgarasında sütun üst bilgilerini özelleştirme

Tahmin ızgarasında, Power Apps kod bileşenlerini kullanarak sütun üst bilgilerini özelleştirebilirsiniz. Örneğin, sütun adını çevirebilir veya ek bağlam için araç ipucu ekleyebilirsiniz.

Lisans ve rol gereksinimleri

Gereksinim türü Aşağıdakine sahip olmanız gerekir:
Lisans Dynamics 365 Sales Premium veya Dynamics 365 Sales Enterprise
Daha fazla bilgi: Dynamics 365 Sales fiyatlandırması
Güvenlik rolleri Sistem yöneticisi veya özelleştiricisi
Daha fazla bilgi: Önceden tanımlanmış güvenlik rolleri hakkında

Üst bilgiyi özelleştirme

Özelleştirmeleri bir örnekle daha iyi açıklayabiliriz. Tahmin ızgarasındaki Tahmin ve Kazanıldı sütun adlarının Fransızca çevirisini ekleyelim.

  1. ColumnHeader adlı bir kod bileşeni oluşturma
  2. Kaynak dosyası oluşturma ve çevirileri ekleme
  3. Bildirimi uygulama
  4. Bileşen mantığını uygulama
  5. Bileşeni derleme ve paketleme

Kaynak dosyası oluşturma ve çevirileri ekleme

Kod bileşenini oluşturduktan sonra, ColumnHeader klasörü belirttiğiniz yolda oluşturulur. Bir kaynak dosyası oluşturun ve Fransızca çevirileri kaynak dosyasına ekleyin.

  1. ColumnHeader klasörü altında strings adlı bir klasör oluşturun.

  2. ColumnHeader.1036.resx kodunu yeni bir dosyaya kopyalayın.

    Not

    Dosya adındaki 1036 sayısı Fransızca için kullanılan dil kodudur. Dil kodlarının listesine bu makaleden ulaşabilirsiniz.

    <?xml version="1.0" encoding="utf-8"?>
    <root>
    
      <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
        <xsd:element name="root" msdata:IsDataSet="true">
          <xsd:complexType>
            <xsd:choice maxOccurs="unbounded">
              <xsd:element name="metadata">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="value" type="xsd:string" minOccurs="0" />
                  </xsd:sequence>
                  <xsd:attribute name="name" use="required" type="xsd:string" />
                  <xsd:attribute name="type" type="xsd:string" />
                  <xsd:attribute name="mimetype" type="xsd:string" />
                  <xsd:attribute ref="xml:space" />
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="assembly">
                <xsd:complexType>
                  <xsd:attribute name="alias" type="xsd:string" />
                  <xsd:attribute name="name" type="xsd:string" />
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="data">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                    <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
                  </xsd:sequence>
                  <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
                  <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
                  <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
                  <xsd:attribute ref="xml:space" />
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="resheader">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                  </xsd:sequence>
                  <xsd:attribute name="name" type="xsd:string" use="required" />
                </xsd:complexType>
              </xsd:element>
            </xsd:choice>
          </xsd:complexType>
        </xsd:element>
      </xsd:schema>
      <resheader name="resmimetype">
        <value>text/microsoft-resx</value>
      </resheader>
      <resheader name="version">
        <value>2.0</value>
      </resheader>
      <resheader name="reader">
        <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
      </resheader>
      <resheader name="writer">
        <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
      </resheader>
      <data name="Forecast" xml:space="preserve">
        <value>Prévision</value>
      </data>
      <data name="Won" xml:space="preserve">
        <value>Gagné</value>
      </data>
    </root>
    

    Yukarıdaki kod örneğinde, Tahmin ve Kazanıldı sütun adları <data> düğümünde sırasıyla, sütun adlarının Fransızca karşılıkları olan Prévision ve Gagné sözcükleriyle geçersiz kılınır.

    Not

    name parametresinde, tahminin Düzen adımında yapılandırdığınız tam sütun adını belirtin.

    Tahmin yapılandırması **Düzen** adımındaki sütun adlarının ekran görüntüsü

    Sütun adını başka dillere de çevirmek isterseniz, çevirmek istediğiniz her dil için bir kaynak dosyası oluşturun. Kaynak dosyası adının aşağıdaki adlandırma kuralına uyduğundan emin olun:

    filename.languagecode.resx  
    **Example file name for German:** ColumnHeader.1031.resx
    

Bildirimi uygulama

Bu adımda, geçersiz kıldığımız özelliği belirtmek için bildirim dosyasını değiştireceğiz. Verdiğimiz örnekte, ColumnName özelliğini geçersiz kılacağız. Ayrıca, çevrilmiş metni içeren kaynak dosyasının yolunu da belirteceğiz.

  1. ControlManifest.Input.XML dosyasını açın.

  2. property düğümünü bulun ve aşağıdaki kodla olduğu gibi değiştirin:

    <property name="columnName" display-name-key="Property_Display_Key" description-key="Property_Desc_Key" of-type="SingleLine.Text" usage="bound" required="true" />

  3. Fransızca çevirileri içeren kaynak dosyasının yolunu belirtmek için <resources> düğümünü güncelleştirin:

    <resources>
      <code path="index.ts" order="1"/>
      <!-- UNCOMMENT TO ADD MORE RESOURCES
      <css path="css/ColumnHeader.css" order="1" />
      -->
      <resx path="strings/ColumnHeader.1036.resx" version="1.0.0" />
    </resources>
    

    <resx path> düğümü kaynak dosya yolunu içerir. Önceki kod örneğinde, Fransızca için kaynak dosyayı eklemiştik. Başka diller için de çeviriler varsa, bu dillere ait kaynak dosya yolunu da ekleyin.

Bileşen mantığını uygulama

Şimdi, bileşen mantığını uygulayacak kodu index.ts dosyasına ekleyelim.

  1. index.ts dosyasını açın.

  2. Aşağıdaki satırları updateView yöntemine ekleyin:

    public updateView(context: ComponentFramework.Context<IInputs>): void
        {
            // Add code to update control view
            const colName = (context.parameters.columnName && context.parameters.columnName.raw) || "";
            this._container.innerHTML = context.resources.getString(colName);
        }
    

Sonraki adımlar