使用 webapi 或 fetchxml 获取子网格中的记录列表

getting list of records in a subgrid using webapi or fetchxml

我想获取表单中子网格中所有记录的列表

有没有办法使用一些 api 调用或使用 javascript 来获取它? 如果子网格在表单中可用,下面的代码将获取行,但是 我不想在我要获取这些记录的形式中使用子网格

var selectedRows = Xrm.Page.getControl("Contacts").getGrid().getSelectedRows();
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();

例如,假设我有一个 medicalCase 实体表单,其中有患者子网格。我想在一些其他实体形式

中使用 webapi 获取患者子网格中的记录列表

是的,您可以使用 fetch 检索记录。

  1. 确定视图背后的 fetchxml。最简单的方法是在 Advanced Find 中调出您的视图,然后使用 Download Fetch Xml 按钮。
  2. 使用像 xrmservicetoolkit 这样的库来执行你的 fetch 语句。

    var fetchXml =
            "<fetch mapping='logical'>" +
               "<entity name='contact'>" +
                  "<attribute name='contactid' />" +
                  "<attribute name='firstname' />" +
                  "<attribute name='lastname' />" +
                  "<attribute name='accountrolecode' />" +
                  "<filter>" +
                     "<condition attribute='contactid' operator='eq' value='" + contactId + "' />" +
                  "</filter>" +
               "</entity>" +
            "</fetch>";
    
    var retrievedContacts = XrmServiceToolkit.Soap.Fetch(fetchXml);
    console.log(retrievedContacts[0].attributes['lastname'].value)
    

    有关详细信息,请参阅 this page