Referència dataApi per a pàgines generatives

Quan generes una pàgina utilitzant llenguatge natural, la IA crea una pàgina de React a TypeScript. La pàgina generada cobreix tant l'experiència d'usuari frontal seleccionant els components adequats i determinant la millor disposició, com la lògica de negoci corresponent.

Pots veure i editar el codi generat per refinar la sortida. Les operacions de dades utilitzen un dataApi objecte que exposa els següents mètodes públics:

Mètode Descripció
createRow Crea una nova fila a la taula especificada.
updateRow Actualitza una fila existent a la taula especificada.
deleteRow Elimina una fila de la taula especificada.
retrieveRow Recupera una fila de la taula especificada amb les opcions especificades.
queryTable Consulta una taula amb les opcions especificades.
getChoices Recupera les opcions per al nom de la columna d'elecció especificada.

createRow mètode

Crea una nova fila a la taula especificada.

Paràmetres

Estableix valors per a aquests paràmetres requerits.

Nom Tipus Descripció
tableName cadena El nom lògic de la taula per crear la fila.
row objecte Les dades de la fila a crear.

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, el resultat és el valor ID (Guid) de la fila creada.

Exemple

// 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);
}

updateRow mètode

Actualitza una fila existent a la taula especificada.

Paràmetres

Estableix valors per a aquests paràmetres requerits.

Nom Tipus Descripció
tableName cadena El nom lògic de la taula per actualitzar la fila.
rowId cadena L'ID de la fila per actualitzar.
row Objecte Les dades de la fila a actualitzar.

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, no retorna cap valor.

Exemple

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);
}

deleteRow mètode

Elimina una fila de la taula especificada.

Paràmetres

Estableix valors per a aquests paràmetres requerits.

Nom Tipus Descripció
tableName cadena El nom lògic de la taula per eliminar la fila.
rowId cadena L'ID de la fila per esborrar.

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, no retorna cap valor.

Exemple

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

retrieveRow mètode

Recupera una fila de la taula especificada utilitzant les opcions especificades.

Paràmetres

Estableix valors per a aquests paràmetres requerits.

Nom Tipus Descripció
tableName string El nom lògic de la taula a recuperar de
options RetrieveRowOptions Opcions per recuperar la fila

RetrieveRowOptions

Nom Tipus Descripció
id string L'ID (Guid) de la fila a recuperar
select string[] (Recomanat) Array de noms de columnes per recuperar. Si s'omet, es retornen totes les columnes.

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, es retorna un objecte que conté les dades del registre, incloent-hi totes les columnes seleccionades.

Exemple

// 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'],
});

queryTable mètode

Consulta una taula utilitzant les opcions especificades.

Paràmetres

Estableix valors per a aquests paràmetres requerits.

Nom Tipus Descripció
tableName string El nom lògic de la taula a consultar
query QueryTableOptions Opcions per consultar la taula

QueryTableOptions

Nom Tipus Descripció
select string[] (Recomanat) Array de noms de columnes per recuperar.
filter string (Opcional) Expressió del filtre OData (per exemple, statecode eq 0).
orderBy string (Opcional) OData expressió per ordre (per exemple, name asc, createdon desc).
pageSize number (Opcional) Nombre màxim de files a retornar per pàgina.

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, la promesa retorna un objecte que conté una taula de dades amb els resultats amb aquestes propietats:

Nom Tipus Descripció
rows Object[] Array de dades de files
hasMoreRows boolean Indica si hi ha més files disponibles
loadMoreRows function Funció per carregar la següent pàgina de resultats. (Opcional)

Exemple

// 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`);
}

Observacions

Nota

Per al millor rendiment, limita sempre el nombre de columnes retornades utilitzant la propietat QueryTableOptionsselect .

getChoices mètode

Recupera les opcions per al nom de la columna d'elecció especificada.

Paràmetres

Aquest paràmetre és obligatori.

Nom Tipus Descripció
enumName string El nom de la columna d'elecció en el format tablename-columnname

Devolucions

Una promesa que conté el resultat de l'operació. Quan l'operació té èxit, retorna una matriu de les opcions d'elecció. Cada opció té aquestes propietats:

Nom Tipus Descripció
label cadena El valor de l'etiqueta localitzada de l'opció.
value Número El valor numèric de l'opció.

Exemple

// 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');