CRM 9 - 根据JS的记录动态绑定HTML表格/网格

问题描述 投票:0回答:1

我正在开发Dynamics CRM 9.0中的HTML页面。我编写了一个Webresource JavaScript,我通过HTML页面调用了它。我的JavaScript中有一个函数可以从CRM实体获取数据,如下所示,

var Query = "$select=ParameterValue,transactioncode,ParameterName&$filter= PhonceCallId/Id eq(guid'" + phoneid + "')";
 XrmSvcToolkit.retrieveMultiple({
    entityName: entity ,  
    odataQuery: Query,
    async: false,
    successCallback: successCallback,
    errorCallback: errorCallback
});

现在,针对PhoneCallId,我正在检索记录,请注意记录本质上是动态的,这意味着针对每次点击获取的行数不固定(我可能第一次获得3行,下次获得5行,依此类推)。

我想动态地将这些记录绑定到我的HTML页面,就像gridview一样,它将具有标题列,然后记录将在运行时绑定到该gridview上。

javascript html dynamics-crm dynamics-crm-2016
1个回答
1
投票

有不同的方法可以实现这一点。例如,这是我的一个使用KnockoutJS的Fiddle,它填充数据。在这个小提琴中,数据是静态的解释,这可以从CRM动态填充,你可以显示每页希望显示多少行。下面的代码就是Ref to Fiddle

基本上,代码是将数据从CRM获取到本地数组所需的代码

var req = new XMLHttpRequest(); 
req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/accounts?$select=accountnumber,emailaddress1,name&$filter=accountid ne null", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", "odata.include-annotations=\"*\"");
var tempArray = new array();
req.onreadystatechange = function() {
    if (this.readyState === 4) {
        req.onreadystatechange = null;
        if (this.status === 200) {
            var results = JSON.parse(this.response);
            for (var i = 0; i < results.value.length; i++) {
                var accountnumber = results.value[i]["accountnumber"];
                var emailaddress1 = results.value[i]["emailaddress1"];
                var name = results.value[i]["name"];
                tempArray.push(results.value[i]["accountnumber"],results.value[i]["emailaddress1"],results.value[i]["name"]);

            }
        } else {
            Xrm.Utility.alertDialog(this.statusText);
        }
    }
};
req.send();

普通HTML表添加数据。 Link供参考

© www.soinside.com 2019 - 2024. All rights reserved.