Tilpasse kolonneoverskrifter i prognosegitteret
Du kan tilpasse kolonneoverskrifter i prognosegitteret ved hjælp af Power Apps-kodekomponenter. Du kan f.eks. oversætte kolonnenavnet eller tilføje et værktøjstip for at få yderligere kontekst.
Licens- og rollekrav
Kravstype | Du skal have |
---|---|
Licens | Dynamics 365 Sales Premium eller Dynamics 365 Sales Enterprise Flere oplysninger: Prisfastsættelse af Dynamics 365 Sales |
Sikkerhedsroller | Systemadministrator eller -tilpasser Du kan finde flere oplysninger i Foruddefinerede sikkerhedsroller til Salg |
Sådan tilpasser du overskriften
Lad os se på tilpasningerne med et eksempel. Vi tilføjer den franske oversættelse af kolonnenavnene Prognose og Vundet i prognosegitteret.
-
Oprette en kodekomponent med navnet
ColumnHeader
- Oprette en ressourcefil og tilføje oversættelser
- Implementere manifestet
- Implementere komponentlogikken
- Bygge og pakke komponenten
Oprette en ressourcefil og tilføje oversættelser
Når du har oprettet kodekomponenten, oprettes ColumnHeader
-mappen på den sti, du har angivet. Lad os oprette en ressourcefil og tilføje de franske oversættelser i ressourcefilen.
Opret en mappe med navnet
strings
under mappenColumnHeader
.Kopiér følgende kode til en ny fil ColumnHeader.1036.resx.
Bemærk
Tallet 1036 i filnavnet er sprogkoden for fransk. Du kan se en liste over sprogkoder i denne artikel.
<?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 ovenstående kodeeksempel overskrives kolonnenavnene for Prognose og Vundet med de franske oversættelser Prévision og Gagné i noden
<data>
.Bemærk
Angiv det nøjagtige kolonnenavn, du har konfigureret i layouttrinnet for prognosen, i parameteren
name
.Hvis du vil oversætte kolonnenavnet til flere sprog, skal du oprette en ressourcefil for hvert sprog, du vil oversætte til. Kontrollér, at navnet på ressourcefilen bruger følgende navngivningskonvention:
filename.languagecode.resx **Example file name for German:** ColumnHeader.1031.resx
Implementere manifestet
Derefter skal du ændre manifestfilen til at angive den egenskab, som vi tilsidesætter. I eksemplet tilsidesætter vi egenskaben ColumnName
. Vi skal også angive stien til den ressourcefil, der indeholder den oversatte tekst.
Åbn
ControlManifest.Input.XML
-filen.Søg efter noden
property
, og erstat 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" />
Opdater noden
<resources>
for at angive stien til den ressourcefil, der indeholder de franske oversættelser:<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>
indeholder stien til ressourcefilen. I det foregående kodeeksempel har vi tilføjet ressourcefilen for det franske sprog. Hvis du har oversættelser til andre sprog, skal du også tilføje stien til ressourcefilen for de pågældende sprog.
Implementere komponentlogikken
Lad os tilføje koden for at implementere komponentlogikken i index.ts
-filen.
Åbn
index.ts
-filen.Tilføj følgende linjer i metoden
updateView
: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); }