Anpassa kolumnrubriker i prognosrutnätet
Du kan anpassa kolumnrubrikerna i prognosrutnätet med hjälp av Power Apps kodkomponenter. Du kan till exempel översätta kolumnnamnet eller lägga till en knappbeskrivning för ytterligare sammanhang.
Licens- och rollbehörigheter
Kravtyp | Du måste ha |
---|---|
Licens | Dynamics 365 Sales Premium eller Dynamics 365 Sales Enterprise Mer information: Prissättning för Dynamics 365 Sales |
Säkerhetsroller | Systemadministratör eller anpassare Mer information: Fördefinierade säkerhetsroller för Sales |
Lär dig hur du anpassar rubriken
Låt oss förstå anpassningar med ett exempel. Vi lägger till den franska översättningen för kolumnnamnen Prognos och Vunna i prognosrutnätet.
-
Skapa en kodkomponent med namnet
ColumnHeader
- Skapa en resursfil och lägg till översättningar
- Implementera manifest
- Implementera komponentlogiken
- Skapa och paketera komponenten
Skapa en resursfil och lägg till översättningar
När du har skapat kodkomponenten skapas ColumnHeader
mappen i den sökväg du har angett. Nu ska vi skapa en resursfil och lägga till de franska översättningarna i resursfilen.
Skapa en mapp med namnet
strings
underColumnHeader
mappen.Kopiera följande kod till en ny fil ColumnHeader.1036.resx.
Kommentar
Antalet 1036 i filnamnet är språkkoden för franska. En lista över språkkoder finns i denna 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 exemplet ovan åsidosätts kolumnnamnen för Prognos och VUnna åsidosätts med franska översättningar Prévision och Gagné i noden
<data>
.Kommentar
I parametern
name
anger du det exakta kolumnnamnet som du har konfigurerat i prognossteget Layout.Om du vill översätta kolumnnamnet till ytterligare språk skapar du en resursfil för varje språk du vill översätta till. Kontrollera att resursfilnamnet använder följande namnkonvention:
filename.languagecode.resx **Example file name for German:** ColumnHeader.1031.resx
Implementera manifest
Nu ska vi ändra manifestfilen och ange vilken egenskap som ska åsidosättas. I vårt exempel åsidosätter vi ColumnName
egenskapen. Vi anger också sökvägen till resursfilen som innehåller den översatta texten.
Öppna
ControlManifest.Input.XML
-filen.Sök efter noden
property
och ersätt den med följande kod:<property name="columnName" display-name-key="Property_Display_Key" description-key="Property_Desc_Key" of-type="SingleLine.Text" usage="bound" required="true" />
Uppdatera noden
<resources>
och ange sökvägen till resursfilen som innehåller de franska översättningarna:<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>
innehåller sökvägen till resursfilen. I föregående kodexempel har vi lagt till resursfilen för det franska språket. Om du har översättningar för andra språk lägger du även till resursfilssökvägen för dessa språk.
Implementera komponentlogiken
Vi lägger till koden för att implementera komponentlogiken i index.ts
filen.
Öppna
index.ts
-filen.Lägg till följande rader 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); }