根据Dynamics 365 Portal中实体列表的过滤视图获取记录数?

时间:2017-08-24 19:38:29

标签: javascript liquid portal dynamics-365

我正在开发Dynamics 365客户自助服务门户中的新网页,该网页将显示实体列表中已启用过滤的发票实体列表。其中一个要求是显示当前视图中的发票数量和所有发票的总和。我能够使用一些Liquid模板代码获取这些值,但我注意到,如果我将过滤器应用于当前视图或者我更改了视图选择,则记录计数和总和不会刷新。例如,我从查看活动发票开始,我的Liquid代码输出记录计数和总和以匹配,但随后使用过滤选项我将列表缩小到上周创建的发票,记录计数和总和不刷新。发生的事情是实体列表刷新没有页面回发,但Liquid代码只会执行页面回发。我也考虑过使用javascript来运行基于相同视图的另一个查询来获取记录计数和总和,但是我发现了一些问题:它不是理想的性能,因为我会查询相同的数据两次(一次用于实体列表和一次使用javascript),如果过滤器应用于实体列表,我知道我可以将javascript附加到列表刷新事件,但是我可以使用javascript访问过滤器选项以获得正确的查询吗?当然,如果我使用Liquid代码获取值并进行页面刷新,那么我将失去我的过滤器。这甚至可能吗?

我在页面上的当前Liquid代码,使用与页面关联的实体列表获取记录计数和总和:

{% assign totalinvamt = 0.0 %}
{% entitylist id:page.adx_entitylist.id %}
    {% entityview %}
        Loaded default view of the entity list associated with the current page, with {{ entityview.total_records }} total records.
        {% for r in entityview.records %}
            {% assign totalinvamt = totalinvamt | plus: r["totalamount"] %}
        {% endfor %}
        <p>invoice total: {{ totalinvamt | format: "c" }}</p>
    {% endentityview %}
{% endentitylist %}

0 个答案:

没有答案