طرق جدول Dataverse للصفحات التوليدية

استخدم أساليب الجدول للكائن dataApi لإنشاء صفوف جدول Dataverse واستردادها وتحديثها وحذفها وأعمدة اختيار الاستعلام.

Method Description
createRow إنشاء صف جديد في الجدول المحدد.
deleteRow حذف صف من الجدول المحدد.
getChoices استرداد الخيارات لاسم عمود الاختيار المحدد.
queryTable الاستعلام عن جدول بالخيارات المحددة.
retrieveRow استرداد صف من الجدول المحدد بالخيارات المحددة.
updateRow تحديث صف موجود في الجدول المحدد.

طريقة createRow

إنشاء صف جديد في الجدول المحدد.

Parameters

تعيين قيم لهذه المعلمات المطلوبة.

Name النوع Description
tableName string الاسم المنطقي للجدول لإنشاء الصف فيه.
row الهدف بيانات الصف المراد إنشاؤها.

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، تكون النتيجة هي قيمة المعرف (Guid) للصف الذي تم إنشاؤه.

مثال createRow

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

طريقة deleteRow

حذف صف من الجدول المحدد.

Parameters

تعيين قيم لهذه المعلمات المطلوبة.

Name النوع Description
tableName string الاسم المنطقي للجدول لحذف الصف فيه.
rowId string معرف الصف المراد حذفه.

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، لا ترجع أي قيمة.

مثال deleteRow

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

طريقة getChoices

استرداد الخيارات لاسم عمود الاختيار المحدد.

Parameters

هذه المعلمة مطلوبة.

Name النوع Description
enumName string اسم عمود الاختيار بالتنسيق tablename-columnname

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، تقوم بإرجاع صفيف من خيارات الاختيار. يحتوي كل خيار على هذه الخصائص:

Name النوع Description
label string قيمة التسمية المترجمة للخيار.
value number القيمة الرقمية للخيار.

مثال على getChoices

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

طريقة queryTable

الاستعلام عن جدول باستخدام الخيارات المحددة.

Parameters

تعيين قيم لهذه المعلمات المطلوبة.

Name النوع Description
tableName string الاسم المنطقي للجدول للاستعلام
query QueryTableOptions خيارات للاستعلام عن الجدول

QueryTableOptions

Name النوع Description
select string[] (مستحسن) صفيف أسماء الأعمدة المراد استردادها.
filter string (اختياري) تعبير عامل تصفية OData (على سبيل المثال، statecode eq 0).
orderBy string (اختياري) تعبير OData orderby (على سبيل المثال، name asc، ). createdon desc
pageSize number (اختياري) الحد الأقصى لعدد الصفوف التي يتم إرجاعها لكل صفحة.

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، يقوم الوعد بإرجاع كائن يحتوي على جدول بيانات مع النتائج مع هذه الخصائص:

Name النوع Description
rows Object[] صفيف بيانات الصف
hasMoreRows boolean يشير إلى ما إذا كان هناك المزيد من الصفوف المتوفرة
loadMoreRows function دالة لتحميل الصفحة التالية من النتائج. (اختياري)

مثال على queryTable

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

Remarks

Note

للحصول على أفضل أداء، حدد دائما عدد الأعمدة التي يتم إرجاعها باستخدام الخاصية QueryTableOptionsselect .

طريقة retrieveRow

استرداد صف من الجدول المحدد باستخدام الخيارات المحددة.

Parameters

تعيين قيم لهذه المعلمات المطلوبة.

Name النوع Description
tableName string الاسم المنطقي للجدول المراد استرداده منه
options استرداد عمليات الاسترداد خيارات استرداد الصف

استرداد عمليات الاسترداد

Name النوع Description
id string معرف (Guid) للصف المراد استرداده
select string[] (مستحسن) صفيف أسماء الأعمدة المراد استردادها. إذا تم حذفها، يتم إرجاع كافة الأعمدة.

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، تقوم بإرجاع كائن ببيانات السجل، بما في ذلك كافة الأعمدة المحددة.

مثال على استرداد

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

طريقة updateRow

تحديث صف موجود في الجدول المحدد.

Parameters

تعيين قيم لهذه المعلمات المطلوبة.

Name النوع Description
tableName string الاسم المنطقي للجدول لتحديث الصف فيه.
rowId string معرف الصف المراد تحديثه.
row Object بيانات الصف المراد تحديثها.

إرجاع

وعد يحتوي على نتيجة العملية. عند نجاح العملية، لا ترجع أي قيمة.

مثال updateRow

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