자연어를 사용하여 페이지를 생성하면 AI는 TypeScript에서 React 페이지를 만듭니다. 생성된 페이지에서는 올바른 구성 요소를 선택하고 최상의 레이아웃과 해당 비즈니스 논리를 결정하여 프런트 엔드 사용자 환경을 모두 다룹니다.
생성된 코드를 보고 편집하여 출력을 구체화할 수 있습니다. 데이터 작업은 다음 공용 메서드를 노출하는 개체를 사용합니다 dataApi .
| 메서드 | Description |
|---|---|
createRow |
지정된 테이블에 새 행을 만듭니다. |
updateRow |
지정된 테이블의 기존 행을 업데이트합니다. |
deleteRow |
지정된 테이블에서 행을 삭제합니다. |
retrieveRow |
지정된 옵션을 사용하여 지정된 테이블에서 행을 검색합니다. |
queryTable |
지정된 옵션을 사용하여 테이블을 쿼리합니다. |
getChoices |
지정된 선택 열 이름에 대한 선택 항목을 검색합니다. |
createRow 메서드
지정된 테이블에 새 행을 만듭니다.
매개 변수
이러한 필수 매개 변수에 대한 값을 설정합니다.
| 이름 | 유형 | Description |
|---|---|---|
tableName |
문자열 | 행을 만들 테이블의 논리적 이름입니다. |
row |
객체 | 만들 행 데이터입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 생성된 행의 ID(Guid) 값이 생성됩니다.
예시
// 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 메서드
지정된 테이블의 기존 행을 업데이트합니다.
매개 변수
이러한 필수 매개 변수에 대한 값을 설정합니다.
| 이름 | 유형 | Description |
|---|---|---|
tableName |
문자열 | 행을 업데이트할 테이블의 논리적 이름입니다. |
rowId |
문자열 | 업데이트할 행의 ID입니다. |
row |
Object | 업데이트할 행 데이터입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 값을 반환하지 않습니다.
예시
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 메서드
지정된 테이블에서 행을 삭제합니다.
매개 변수
이러한 필수 매개 변수에 대한 값을 설정합니다.
| 이름 | 유형 | Description |
|---|---|---|
tableName |
문자열 | 행을 삭제할 테이블의 논리적 이름입니다. |
rowId |
문자열 | 삭제할 행의 ID입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 값을 반환하지 않습니다.
예시
let rowId = "5531d753-95af-e711-a94e-000d3a11e605";
try {
await dataApi.deleteRow("account", rowId);
}
catch (error) {
console.log(error.message);
}
retrieveRow 메서드
지정된 옵션을 사용하여 지정된 테이블에서 행을 검색합니다.
매개 변수
이러한 필수 매개 변수에 대한 값을 설정합니다.
| 이름 | 유형 | Description |
|---|---|---|
tableName |
string |
검색할 테이블의 논리적 이름 |
options |
RetrieveRowOptions | 행 검색 옵션 |
RetrieveRowOptions
| 이름 | 유형 | Description |
|---|---|---|
id |
string |
검색할 행의 ID(Guid) |
select |
string[] |
(권장) 검색할 열 이름의 배열입니다. 생략하면 모든 열이 반환됩니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 선택한 모든 열을 포함하여 레코드의 데이터가 포함된 개체가 반환됩니다.
예시
// 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 메서드
지정된 옵션을 사용하여 테이블을 쿼리합니다.
매개 변수
이러한 필수 매개 변수에 대한 값을 설정합니다.
| 이름 | 유형 | Description |
|---|---|---|
tableName |
string |
쿼리할 테이블의 논리적 이름 |
query |
QueryTableOptions | 테이블 쿼리 옵션 |
QueryTableOptions
| 이름 | 유형 | Description |
|---|---|---|
select |
string[] |
(권장) 검색할 열 이름의 배열입니다. |
filter |
string |
(선택 사항) OData 필터 식(예: statecode eq 0). |
orderBy |
string |
(선택 사항) OData orderby 식(예: name asc, createdon desc). |
pageSize |
number |
(선택 사항) 페이지당 반환할 최대 행 수입니다. |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 promise는 다음과 같은 속성이 포함된 결과가 포함된 데이터 테이블이 포함된 개체를 반환합니다.
| 이름 | 유형 | Description |
|---|---|---|
rows |
Object[] |
행 데이터 배열 |
hasMoreRows |
boolean |
사용할 수 있는 행이 더 있는지를 나타냅니다. |
loadMoreRows |
function |
결과의 다음 페이지를 로드하는 함수입니다. (선택 사항) |
예시
// 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`);
}
비고
비고
최상의 성능을 위해 항상 QueryTableOptions 속성을 사용하여 반환되는 열 수를 제한합니다select.
getChoices 메서드
지정된 선택 열 이름에 대한 선택 항목을 검색합니다.
매개 변수
이 매개 변수는 필수입니다.
| 이름 | 유형 | Description |
|---|---|---|
enumName |
string |
형식의 선택 열 이름 tablename-columnname |
Returns
작업 결과를 포함하는 프라미스 입니다. 작업이 성공하면 선택 옵션의 배열을 반환합니다. 각 옵션에는 다음과 같은 속성이 있습니다.
| 이름 | 유형 | Description |
|---|---|---|
label |
문자열 | 옵션의 지역화된 레이블 값입니다. |
value |
숫자 | 옵션의 숫자 값입니다. |
예시
// 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');