D365 CE & Power Platform 编程系列 (9):JS编程之客户端Read分页事件

今天我们来看看怎么使用分页查询记录,同时,今天使用的也是原生的Xrm.WebApi。接下来看看今天的实验场景吧:

1)在商机页面加载的时候,分页查询关联的my budget plan记录数量,并弹出具体的数值信息。

实现后的效果:

实现代码:

javascript 复制代码
    RetriveMyBudgetPlan:function(query,myBudgetPlans)
    {
        var clientURL="https://org4fb4251a.crm.dynamics.com/api/data/v9.0/new_mybudgetplans";
        var myBudgetPlanCount=0;
        Xrm.WebApi.retrieveMultipleRecords("new_mybudgetplan", query,2).then(
                                        function success(result) {
                                            myBudgetPlans=myBudgetPlans.concat(result.entities);
                                            myBudgetPlanCount=myBudgetPlans.length;

                                            if(result.nextLink!=undefined)
                                            {
                                                query=result.nextLink;
                                                query=query.split(clientURL)[1];
                                                CRMHOME.Opportunity.Entity.RetriveMyBudgetPlan(query, myBudgetPlans);


                                            }
                                            else
                                            {
                                                Xrm.Utility.alertDialog("total my budget plan record number is: "+myBudgetPlanCount.toString());
                                            }



                                        }
                                        ,
                                        function(error){
                                            console.log(error);
                                        });
    }

调用代码:

javascript 复制代码
    Form_Onload:function(){
        debugger;
        //Xrm.Utility.alertDialog("Hello form onload event");
        //retrive multiple records with pagging
        var nextPage=null;
        var recordNum=0;
        var tryCounter=0;
        var hasError=false;
        var clientURL="https://org4fb4251a.crm.dynamics.com/api/data/v9.0/new_mybudgetplans";
        var queryFilter="?$filter=new_opportunityId/opportunityid eq '$OPPID$' and new_contact/contactid eq '$CONTACTID$'";
        var oppID=Xrm.Page.data.entity.getId().replace("{","").replace("}","");
        var contactID=Xrm.Page.getAttribute("parentcontactid").getValue()[0].id.replace("{","").replace("}","");
        var hasRequest=false;
        queryFilter=queryFilter.replace("$OPPID$",oppID).replace("$CONTACTID$",contactID);

        var myBudgetPlan=[];
        CRMHOME.Opportunity.Entity.RetriveMyBudgetPlan(queryFilter,myBudgetPlan);
}
相关推荐
Jeff Xiong4 天前
D365 CE & Power Platform 编程系列 (5):JS脚本编程之实体的Create事件
power platform·d365 ce
Jeff Xiong6 天前
D365 CE & Power Platform(3):JS脚本编程之onchange事件
power platform·d365 ce
Lucky Monkey .1 年前
微软 Power Apps MDA 模型驱动应用解决Image字段查询出来缩略图问题变原图方法(c#+Plugin方式)
开发语言·microsoft·c#·power platform
迅易科技1 年前
Power Platform课堂 | 一看就懂,一学就会!解剖文本翻译器应用开发的全过程
微软·power platform
Lucky Monkey .2 年前
微软 Power Platform 零基础 Power Pages 网页搭建高阶实际案例实践(四)
微软·power platform·power pages·power apps·power automate
Lucky Monkey .2 年前
微软 Power Platform 零基础 Power Pages 网页搭建教程学习实践进阶以及常见问题解答(二)
学习·microsoft·power platform·power pages
Martin-Mei2 年前
Power BI 傻瓜入门 14. 深入挖掘DAX
powerbi·power platform
Martin-Mei2 年前
Power BI 傻瓜入门 13. 进入仪表板
powerbi·power platform