Personaliza as cabeceiras das columnas na grella de previsión
Podes personalizar as cabeceiras de columnas na grella de previsións mediante compoñentes de código Power Apps . Por exemplo, pode traducir o nome da columna ou engadir unha información sobre ferramentas para obter contexto adicional.
Requisitos de licenza e rol
Tipo de requisito | Hai que ter |
---|---|
Licenza | Dynamics 365 Sales Premium ou Dynamics 365 Sales Enterprise Máis información: Dynamics 365 Prezos de vendas |
Roles de seguridade | Administrador do sistema ou personalizador Máis información: Funcións de seguridade predefinidas para vendas |
Como personalizar a cabeceira
Imos entender as personalizacións cun exemplo. Engadiremos a tradución ao francés dos nomes das columnas Previsión e Won na grella de previsións.
- Crea un compoñente de código co nome
ColumnHeader
- Crea un ficheiro de recursos e engade traducións
- Implementar o manifesto
- Implementar a lóxica dos compoñentes
- Construír e empaquetar o compoñente
Crea un ficheiro de recursos e engade traducións
Despois de crear o compoñente de código, créase o cartafol ColumnHeader
no camiño que especificaches. Imos crear un ficheiro de recursos e engadir as traducións ao francés no ficheiro de recursos.
Crea un cartafol chamado
strings
baixo o cartafolColumnHeader
.Copia o seguinte código nun ficheiro novo, ColumnHeader.1036.resx.
Nota
O número 1036 no nome do ficheiro é o código de idioma para o francés. Para obter unha lista de códigos de idiomas, consulta este artigo.
<?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>
Na mostra de código anterior, os nomes das columnas de Previsión e Won anúlanse coas traducións ao francés Prévision e Gagné respectivamente no
<data>
nodo.Nota
No parámetro
name
especifique o nome exacto da columna que configurou no Disposición paso da previsión.Se queres traducir o nome da columna a idiomas adicionais, crea un ficheiro de recursos para cada idioma ao que queres traducir. Asegúrese de que o nome do ficheiro de recursos utiliza a seguinte convención de nomenclatura:
filename.languagecode.resx **Example file name for German:** ColumnHeader.1031.resx
Implementar o manifesto
A continuación, modificaremos o ficheiro de manifesto para especificar a propiedade que estamos a substituír. No noso exemplo, anulamos a propiedade ColumnName
. Tamén especificaremos o camiño ao ficheiro de recursos que contén o texto traducido.
Abre o ficheiro
ControlManifest.Input.XML
.Busca o
property
nodo e substitúeo polo seguinte código tal e como está:<property name="columnName" display-name-key="Property_Display_Key" description-key="Property_Desc_Key" of-type="SingleLine.Text" usage="bound" required="true" />
Actualiza o
<resources>
nodo para especificar o camiño ao ficheiro de recursos que inclúe as traducións ao francés:<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>
O
<resx path>
nodo contén a ruta do ficheiro de recursos. Na mostra de código anterior, engadimos o ficheiro de recursos para o idioma francés. Se tes traducións para outros idiomas, engade tamén a ruta do ficheiro de recursos para eses idiomas.
Implementar a lóxica dos compoñentes
Engadimos o código para implementar a lóxica do compoñente no ficheiro index.ts
.
Abra o ficheiro
index.ts
.Engade as seguintes liñas no método
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); }
Pasos seguintes
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios