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

时间:2016-04-18 06:57:29

标签: dynamics-crm-2011 dynamics-crm microsoft-dynamics dynamics-crm-2016

我想获取表单

中子网格中所有记录的列表

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

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

例如,假设我有一个medicalCase实体表单,我有患者子网格。我想在其他实体形式中使用webapi获取患者子网格中的记录列表

1 个答案:

答案 0 :(得分:2)

是的,您可以使用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