【问题标题】:how to refresh dashboard view with js in Mscrm?如何在 Mscrm 中使用 js 刷新仪表板视图?
【发布时间】:2015-02-25 10:08:29
【问题描述】:

我已经实现了一个功能区按钮,它根据仪表板视图中选择的实体更新实体字段。通过js更新实体字段后,需要刷新仪表板视图,重新显示更新后的字段值的视图。

最优雅的方法是什么?我可以执行 js 来重新加载整个页面,但这是最坏的情况。您能否推荐一种仅刷新仪表板上的特定视图以显示更新数据的方法?

【问题讨论】:

  • thanx @Bactos 但这对我不起作用:/
  • 为什么不进行 Ajax 调用以获取更新的 Dashboard html/ JSON 来更新视图?
  • @Arkantos 你能告诉我该怎么做吗??
  • 你在使用 jQuery 吗?

标签: javascript jquery dynamics-crm-2011 dynamics-crm-2015


【解决方案1】:

假设这是您的主要 div 容器,其中包含您的整个仪表板 html

<div id="main-container"> </div>

如果你已经在使用jQuery

$('.updateBtn').on('click', function(){
  // update your entity field here
  $.ajax({
    url : 'your-dashboard-url',
    type : 'GET',
    // data : some object in case you want to pass something to server
    dataType : 'html'
  }).done(function(rdata){
        $('#main-container').html(rdata); 
  });
});

【讨论】:

  • 谢谢,但是我怎样才能每 30 秒调用一次这个函数并且没有点击事件
  • 您可以将整个 ajax 代码保存在一个函数中,比如 getDashboardContent 并在 setInterval(getDashboardContent, 30000) 中使用它
  • 但是你确定服务器端总是每 30 秒更新一次内容吗?如果没有,那么您就不必要地请求获取相同的内容:)
  • 这只是 jQuery 使用 updateBtn 类选择所有元素的方式
【解决方案2】:

我们的dashboard 中有IFRAME 中的Custom report,我们必须在该报告中应用一些CSS Styles

通过以下代码行,我可以访问report 并应用样式。

var ContentIframe = window.top.document.getElementById('contentIFrame0');
if(ContentIframe!=null)
{
var DashboardIframe=ContentIframe.contentDocument.frames["dashboardFrame"]
if(DashboardIframe!=null)
{
   //DashboardIframe.document.frames["IFRAME_SalesTrend"].document.getElementById("compatibilityNotification").style.display = "none";

我们在dashoboard 上有Activities View,我可以像下面这样获取并刷新它。

 DashboardIframe.document.getElementById("Activities").control.refresh();
}

它可以工作,您也可以在开发人员工具控制台中对其进行测试。它能够找到那个元素。

【讨论】:

  • 感谢您的回答,但这不起作用:/
    消息错误:'无法获取未定义或空引用的属性'刷新''
  • DashboardIframe.document.getElementById("Activities").control.refresh();我找不到处理错误的.Control.refresh(),对不起我的英语:/
  • @abdelazizmaroc 那是因为您的仪表板上没有Activities 视图,请找到您要刷新的View 的名称并将其替换为Activities。谢谢x
  • 我已将 "Activities" 替换为我的视图 ID,但我仍然遇到同样的错误
  • @abdelazizmaroc 视图不能为 Null。正如我附上的截图,你必须使用所有的代码。
猜你喜欢
  • 2016-09-11
  • 2017-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 2021-04-06
  • 2023-04-10
相关资源
最近更新 更多