Partager via


référence dataApi pour les pages génératives

Lorsque vous générez une page à l’aide du langage naturel, l’IA crée une page React dans TypeScript. La page générée couvre à la fois l’expérience utilisateur frontale en sélectionnant les composants appropriés et en déterminant la meilleure disposition et la logique métier correspondante.

Vous pouvez afficher et modifier le code généré pour affiner la sortie. Les opérations de données utilisent un dataApi objet qui expose les méthodes publiques suivantes :

Méthode Descriptif
createRow Crée une ligne dans la table spécifiée.
updateRow Met à jour une ligne existante dans la table spécifiée.
deleteRow Supprime une ligne de la table spécifiée.
retrieveRow Récupère une ligne à partir de la table spécifiée avec les options spécifiées.
queryTable Interroge une table avec les options spécifiées.
getChoices Récupère les choix du nom de colonne de choix spécifié.

méthode createRow

Crée une ligne dans la table spécifiée.

Paramètres

Définissez des valeurs pour ces paramètres requis.

Nom Type Descriptif
tableName ficelle Nom logique de la table dans laquelle créer la ligne.
row objet Données de ligne à créer.

Retours

Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, le résultat est la valeur ID (Guid) de la ligne créée.

Example

// Define the row data to create new account
var row =
    {
        "name": "Sample Account",
        "creditonhold": false,
        "address1_latitude": 47.639583,
        "description": "This is the description of the sample account",
        "revenue": 5000000,
        "accountcategorycode": 1,
    }

try {
  // Create a new account record
  const newAccountId = await dataApi.createRow("account", row);
  console.log("Account created with ID: " + newAccountId);

  // Create a contact with a lookup to an account
  const newContactId = await dataApi.createRow('contact', {
    firstname: 'John',
    lastname: 'Doe',
    emailaddress1: 'john.doe@contoso.com',
    "parentcustomerid@odata.bind": `/account(${newAccountId})`, // Lookup format
  });
}
catch (error) {
  console.log(error.message);
}

méthode updateRow

Met à jour une ligne existante dans la table spécifiée.

Paramètres

Définissez des valeurs pour ces paramètres requis.

Nom Type Descriptif
tableName ficelle Nom logique de la table dans laquelle mettre à jour la ligne.
rowId ficelle ID de la ligne à mettre à jour.
row Objet Données de ligne à mettre à jour.

Retours

Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle ne retourne aucune valeur.

Example

let rowId = "5531d753-95af-e711-a94e-000d3a11e605"

// Define the row to update a record
var row =
    {
        "name": "Updated Sample Account ",
        "creditonhold": true,
        "address1_latitude": 47.639583,
        "description": "This is the updated description of the sample account",
        "revenue": 6000000,
        "accountcategorycode": 2
    }

// update the record

try {
   await dataApi.updateRow("account", rowId, row);
}
catch (error){
  console.log(error.message);
}

méthode deleteRow

Supprime une ligne de la table spécifiée.

Paramètres

Définissez des valeurs pour ces paramètres requis.

Nom Type Descriptif
tableName ficelle Nom logique de la table dans laquelle supprimer la ligne.
rowId ficelle ID de la ligne à supprimer.

Retours

Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle ne retourne aucune valeur.

Example

let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
  await dataApi.deleteRow("account", rowId);
}
catch (error) {
  console.log(error.message);
}

méthode retrieveRow

Récupère une ligne à partir de la table spécifiée à l’aide des options spécifiées.

Paramètres

Définissez des valeurs pour ces paramètres requis.

Nom Type Descriptif
tableName string Nom logique de la table à récupérer à partir de
options RetrieveRowOptions Options de récupération de la ligne

RetrieveRowOptions

Nom Type Descriptif
id string ID (GUID) de la ligne à récupérer
select string[] (Recommandé) Tableau de noms de colonnes à récupérer. En cas d’omission, toutes les colonnes sont retournées.

Retours

Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, un objet contenant les données de l’enregistrement est retourné, y compris toutes les colonnes sélectionnées.

Example

// Retrieve an account with all columns
const account = await dataApi.retrieveRow('account', {
  id: '30dc51e9-947d-47d8-ad48-4fc48fba4a95',
});

// Retrieve specific columns only
const contact = await dataApi.retrieveRow('contact', {
  id: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
  select: ['firstname', 'lastname', '_parentcustomerid_value'],
});

méthode queryTable

Interroge une table à l’aide des options spécifiées.

Paramètres

Définissez des valeurs pour ces paramètres requis.

Nom Type Descriptif
tableName string Nom logique de la table à interroger
query QueryTableOptions Options d’interrogation de la table

QueryTableOptions

Nom Type Descriptif
select string[] (Recommandé) Tableau de noms de colonnes à récupérer.
filter string (Facultatif) Expression de filtre OData (par exemple, statecode eq 0).
orderBy string (Facultatif) Expression OData orderby (par exemple, name asc, createdon desc).
pageSize number (Facultatif) Nombre maximal de lignes à retourner par page.

Retours

Promesse contenant le résultat de l’opération. Une fois l’opération réussie, la promesse retourne un objet contenant une table de données avec les résultats avec les propriétés suivantes :

Nom Type Descriptif
rows Object[] Tableau de données de ligne
hasMoreRows boolean Indique s’il y a plus de lignes disponibles
loadMoreRows function Fonction pour charger la page suivante des résultats. (facultatif)

Example

// Query tasks with options
const result = await dataApi.queryTable("task", {
    select: ["activityid", "subject", "scheduledend", "prioritycode", "statecode"],
    orderBy: "scheduledend asc",
    pageSize: 50,
    filter: "statecode eq 0"
});

// Query accounts with pagination
const pagedAccounts = await dataApi.queryTable('account', {
  select: ['name'],
  pageSize: 50,
});

console.log(`Page 1: ${pagedAccounts.rows.length} accounts`);

if (pagedAccounts.hasMoreRows && pagedAccounts.loadMoreRows) {
  const nextPage = await pagedAccounts.loadMoreRows();
  console.log(`Page 2: ${nextPage.rows.length} accounts`);
}

Remarques

Note

Pour des performances optimales, limitez toujours le nombre de colonnes retournées à l’aide de la propriété QueryTableOptionsselect .

méthode getChoices

Récupère les choix du nom de colonne de choix spécifié.

Paramètres

Ce paramètre est obligatoire.

Nom Type Descriptif
enumName string Nom de la colonne de choix au format tablename-columnname

Retours

Promesse contenant le résultat de l’opération. Lorsque l’opération réussit, elle retourne un tableau des options de choix. Chaque option a les propriétés suivantes :

Nom Type Descriptif
label ficelle Valeur d’étiquette localisée de l’option.
value nombre Valeur numérique de l’option.

Example

// Returns the accountcategorycode column options from the account table
const categoryChoices = await dataApi.getChoices("account-accountcategorycode");
// Returns the statecode column options from the contact table
const stateChoices = await dataApi.getChoices('contact-statecode');
// Returns the statuscode column options from the account table
const statusChoices = await dataApi.getChoices('account-statuscode');