Del via


Tilpass kolonneoverskrifter i prognoserutenettet

Du kan tilpasse kolonneoverskrifter i prognoserutenettet ved hjelp av Power Apps-kodekomponenter. Du kan for eksempel oversette kolonnenavnet eller legge til et verktøytips for ekstra kontekst.

Lisens- og rollekrav

Kravtype Du må ha
Lisens Dynamics 365 Sales Premium eller Dynamics 365 Sales Enterprise
Mer informasjon: Dynamics 365 Sales-priser
Sikkerhetsroller Systemadministrator eller tilpasser
Mer informasjon: Forhåndsdefinerte sikkerhetsroller for Salg

Slik tilpasser du overskriften

La oss forstå tilpasningene med et eksempel. Vi legger til den fransk oversettelsen for kolonnenavnene Prognose og Vunnet i prognoserutenettet.

  1. Opprett en kodekomponent med navnet ColumnHeader
  2. Opprett en ressursfil og legg til oversettelser
  3. Implementer manifestet
  4. Implementer komponentlogikken
  5. Bygg og pakk komponenten

Opprett en ressursfil og legg til oversettelser

Når du har opprettet kodekomponenten, opprettes mappen ColumnHeader i banen du har angitt. La oss opprette en ressursfil og legge til de fransk oversettelsene i ressursfilen.

  1. Opprett en mappe med navnet strings under ColumnHeader-mappen.

  2. Kopier koden nedenfor til en ny fil, ColumnHeader.1036.resx.

    Merk

    Nummeret 1036 i filnavnet er språkkoden for fransk. Hvis du vil se en liste over språkkoder, kan du se denne artikkelen.

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

    I kodeeksemplet ovenfor over overstyres kolonnenavnene for Prognose og Vunnet med henholdsvis de fransk oversettelsene Prévision og Gagné i noden <data>.

    Merk

    I parameteren name angir du det nøyaktige kolonnenavnet du har konfigurert i Oppsett-trinnet i prognosen.

    Et skjermbilde av kolonnenavnene i **Oppsett**-trinnet i prognosekonfigurasjonen

    Hvis du vil oversette kolonnenavnet til flere språk, oppretter du en ressursfil for hvert språk du vil oversette til. Kontroller at navnet på ressursfilen bruker følgende navnekonvensjon:

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

Implementer manifestet

Deretter skal vi endre manifestfilen slik at den angir egenskapen vi overstyrer. I vårt eksempel overstyrer vi ColumnName-egenskapen. Vi angir også banen til ressursfilen som inneholder den oversatte teksten.

  1. Åpne ControlManifest.Input.XML-filen.

  2. Søk etter noden property, og erstatt den med følgende kode som den er:

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

  3. Oppdater noden <resources> for å angi banen til ressursfilen som inneholder de fransk oversettelsene:

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

    Noden <resx path> inneholder banen til ressursfilen. I forrige kodeeksempler har vi lagt til ressursfilen for fransk. Hvis du har oversettelser for andre språk, legger du også til banen til ressursfilen for disse språkene.

Implementer komponentlogikken

La oss legge til koden for å implementere komponentlogikken i index.ts-filen.

  1. Åpne index.ts-filen.

  2. Legg til følgende linjer i updateView-metoden:

    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);
        }
    

Neste trinn