Utiliser JavaScript dans les modèles RowMerge

Si vous souhaitez modifier le format, manipuler les données ou effectuer des calculs dans vos modèles RowMerge, c'est possible si vous connaissez JavaScript.

Dans les modèles RowMerge, JavaScript est inséré entre {{: et}}. Vous pouvez appeler les fonctions JavaScript standard directement dans votre modèle ou ajouter vos propres fonctions personnalisées à la fin de votre modèle.

Commençons par un exemple et listons ensuite les principaux objets et méthodes dont vous aurez besoin pour utiliser JavaScript avec RowMerge.

Ceci n'est pas destiné à tous les utilisateurs RowShare. Si vous ne connaissez pas JavaScript et souhaitez tirer parti de la puissance de RowMerge et de JavaScript, n'hésitez pas à demander à notre équipe et nous vous enverrons un devis pour créer vos documents personnalisés.

Exemple

Supposons que vous souhaitiez répertorier le contenu de deux colonnes nommées Titre et Description. Le modèle RowMerge devrait contenir les éléments suivants :

{{#beginrows}}

{{Titre}} {{Description}}

{{#endrows}}

{{#onefile}}

Pour convertir le titre en majuscule, vous devez effectuer les opérations suivantes en JavaScript:

  1. Accéder au contenu de la colonne Titre
  2. Le transformer en chaîne de caractères (string)
  3. Le convertir en majuscule
  4. Afficher le résultat

Sous la forme la plus concise (mais peut-être pas la plus facile à maintenir), cela donnerait ce qui suit:

{{#beginrows}}

{{:Output.Write(Row.Item('Titre').ToString().ToUpperCase())}} {{Description}}{{# endrows}}

{{#onefile}}

J'aurais pu faire la même chose en créant une fonction WriteUpperCase, cette fois en utilisant des variables explicitement nommées pour afficher le flux. Je dois indiquer à ma fonction la ligne et la colonne appropriées en envoyant l’objet Row et le nom de la colonne.

{{#beginrows}}

{{:WriteUpperCase (Row,'Titre');}} {{Description}}
{{#endrows}}

{{#onefile}}


{{:function WriteUpperCase(Row, ColumnName)

{
var MyCell = Row.Item (ColumnName);

var MyCellAsString = MyCell.ToString();

var MyCellAsUpperCaseString = MyCellAsString.toUpperCase();


Output.Write(MyCellAsUpperCaseString);

}

}}

Cet exemple a été créé dans un fichier texte brut, mais aurait pu être utilisé dans un document Microsoft Word ou tout autre format de modèle pris en charge.

Objets et méthodes clés

Que devez-vous savoir pour créer vos propres modèles avec JavaScript? Vous devez connaître JavaScript et nous ne vous apprendrons pas cela. Considérons que vous connaissez déjà JavaScript, voici les informations utiles.

Output.Write ()

Comme RowMerge est dédié à la création de documents, il est probable que votre JavaScript ait besoin de retourner quelque chose (le plus souvent du texte).Output.Write()prend du texte en argument et le renvoie dans votre document généré.

Row

RowMerge parcourt les lignes de votre tableau pour extraire des données de chaque ligne et produire un ou plusieurs documents. A tout moment, l'objet Row vous permet d'accéder à la ligne en cours.

  • Row.Item(index) est le contenu d'une cellule de la ligne en cours. index est le nom ou l'index d'une colonne.
Pour simplement afficher le contenu d'une colonne, vous pouvez vous passer de JavaScript vous n'utilisez généralement pas JavaScript, mais uniquement {{ColumnName}. Vous pourriez également écrire {{:Output.Write(Row.Item(ColumnName))}}, le résultat serait exactement le même .
  • Row.Id renvoie l'identifiant unique de la ligne
  • Row.IsFirst est égal à true pour la première ligne uniquement
  • Row.IsLast est égal à true pour la dernière ligne uniquement
  • Row.CreatedDateUtc et Row.UserCreatedDate est la date à laquelle la ligne a été créée, soit UTC, soit dans le fuseau horaire de l'utilisateur actuel (en fonction de ses paramètres de compte).
  • Row.ModifiedDateUtc et Row.UserModifiedDate est la date à laquelle la ligne a été modifiée pour la dernière fois, soit UTC, soit dans le fuseau horaire de l'utilisateur actuel (en fonction de ses paramètres de compte).
Cell

Les lignes sont composées de cellules. Dans l'exemple ci-dessus, j'utilise la méthode ToString() pour obtenir le contenu de ma cellule en tant que chaîne de caractère. Voici d'autres méthodes et champs utiles:

  • Value est le contenu de la cellule. Son type dépend du type de la colonne.
  • ToString() renvoie la valeur de la cellule sous forme de chaîne de caractères, en faisant de son mieux pour la convertir, en fonction du type de la colonne


Cette page vous a-t-elle aidé ?