Přizpůsobení záhlaví sloupců v mřížce prognózy
Záhlaví sloupců v mřížce prognózy můžete přizpůsobit pomocí komponent kódu Power Apps. Můžete například přeložit název sloupce nebo přidat nápovědu pro další kontext.
Požadavky na licenci a roli
Typ požadavku | Musíte mít |
---|---|
Licence | Dynamics 365 Sales Premium nebo Dynamics 365 Sales Enterprise Další informace: Ceny Dynamics 365 Sales |
Role zabezpečení | Správce nebo úpravce systému Další informace: Předdefinované role zabezpečení pro Sales |
Jak přizpůsobit záhlaví
Pojďme porozumět přizpůsobení na příkladu scénáře. Do mřížky prognózy přidáme francouzský překlad názvů sloupců Forecast a Won.
-
Vytvoření komponentu kódu s názvem
ColumnHeader
- Vytvoření souboru prostředku a přidání překladů
- Implementace manifestu
- Implementace logiky komponent
- Sestavení a zabalení komponenty
Vytvoření souboru prostředku a přidání překladů
Po vytvoření komponenty kódu se v zadané cestě vytvoří složka ColumnHeader
. Vytvořme zdrojový soubor a do něj přidejte francouzské překlady.
Vytvořte složku s názvem
strings
ve složceColumnHeader
.Zkopírujte následující kód do nového souboru ColumnHeader.1036.resx.
Poznámka:
Číslo 1036 v názvu souboru je kód jazyka pro francouzštinu. Seznam kódů jazyků viz tento článek.
<?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>
Ve výše uvedené ukázce kódu jsou názvy sloupců pro Forecast a Won přepsány francouzskými překlady Prévision a Gagné v uzlu
<data>
.Poznámka:
V parametru
name
zadejte přesný název sloupce, který jste nakonfigurovali v kroku Rozvržení prognózy.Pokud chcete přeložit název sloupce do dalších jazyků, vytvořte soubor prostředků pro každý jazyk, do kterého chcete překládat. Ujistěte se, že název souboru prostředku používá následující konvenci pojmenování:
filename.languagecode.resx **Example file name for German:** ColumnHeader.1031.resx
Implementace manifestu
Dále upravíme soubor manifestu tak, aby specifikoval vlastnost, kterou přepisujeme. V našem příkladu přepisujeme vlastnost ColumnName
. Zadáme také cestu k souboru prostředků, který obsahuje přeložený text.
Otevřete soubor
ControlManifest.Input.XML
.Vyhledejte uzel
property
a nahraďte ho následujícím kódem tak, jak je:<property name="columnName" display-name-key="Property_Display_Key" description-key="Property_Desc_Key" of-type="SingleLine.Text" usage="bound" required="true" />
Aktualizujte uzel
<resources>
, aby specifikoval cestu k souboru prostředků, který obsahuje francouzské překlady:<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>
Uzel
<resx path>
obsahuje cestu k souboru prostředků. V předchozí ukázce kódu jsme přidali zdrojový soubor pro francouzský jazyk. Pokud máte překlady pro jiné jazyky, přidejte cestu k souboru prostředků také pro tyto jazyky.
Implementace logiky komponent
Pojďme přidat kód pro implementaci logiky komponenty do souboru index.ts
.
Otevřete soubor
index.ts
.Přidejte následující řádky v metodě
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); }