注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

微软MVP罗勇的博客

微软MVP罗勇,www.luoyong.me

 
 
 

日志

 
 

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置  

2013-11-15 08:43:30|  分类: CRM2013介绍 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
       Dynamics CRM 2011没有命令栏(Command Bar),这个是Dynamics CRM 2013版本的,但是其使用的xml的语法都是一样的,只是显示形式不同而已。

命令栏显示的是前5个按钮,需要使用更多的按钮则要点击 省略号才能看到,并不是所有的地方都用的是命令栏,而是只有更新的实体(Updated entity)才是用命令栏,当然新建的客制化实体都是更新的实体。

子网格的命令栏则十分简单了,只有增加和删除记录按钮,还可以切换子网格实体的视图,若要对子网格实体记录做更多地操作就需要双击打开子网格实体记录才行。

以前Ribbon用的Enable rule在命令栏中依然存在,但是如果Enable rule返回false的话将会隐藏工具,而不是将工具失效,这和Display Rule的效果一样了,所以应该避免使用Enable rule,而使用Display rule代替。

Dynamics CRM 2013还增加了一种新的rule,可以用于Enable rule和Display rule,那就是CommandClientTypeRule ,它的xml语法如下:

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

       Type为modern的时候该命令在CRM移动版中显示,Type为Refresh的时候就是当实体是Updated实体且在浏览器中使用CRM时才显示,也就是在命令栏中显示,Type为Legacy时则在Ribbon Area中显示。

下面我用Ribbon Workbench for Dynamics CRM 2013来做个例子,这个例子用到的方法和在Dynamics CRM 2011中开发的方法绝大部分是一样的。先到下面网址去下载一个Dynamics CRM 2013版本的Ribbon Workbench。http://www.develop1.net/public/page/Ribbon-Workbench-for-Dynamics-CRM-2011.aspx

再把下载到的解决方案导入到系统中,导入成功后,就会发现命令栏中出现了 自定义 按钮。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客
 

准备工作还包括将该按钮用到的JavaScript代码撰写好,并作为Web资源上传发布。

       点击 自定义 按钮,便会打开Ribbon Workbench弹出浏览器窗口,我这里选择这个唯一的客制化解决方案,然后点击 OK 按钮。

 微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

      确认上面部分的选项卡是 Command Bar,而不是Ribbon,然后从下面部分第一竖列拉动一个Button到上面部分的FORM行,并设定图片和显示文字。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

再右击 Commands节点,选择 Add New来新增一个命令。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

然后为这个按钮增加一个Action,点击下图所示位置右边的图标。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

在弹出的窗口中,点击 Add 按钮,在弹出的对话框中选择 JavaScript Function Action,因为我这里的演示是执行一个JavaScript,然后点击OK按钮。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

设置好Function Name,并选择好Library,这个Library就是之前写好并且已经上传发布了的JavaScript类型的web 资源。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

这个执行的js函数的代码是:

function BtnOnClick() {

    Xrm.Utility.confirmDialog('确定要继续操作吗?', function () {

        Xrm.Page.getControl('new_name').setNotification('你点击了确定按钮!');

        Xrm.Page.ui.clearFormNotification('D1ADCA8C-D70D-4A2E-A759-BA08FE8A221B');

    }, function () {

        Xrm.Utility.alertDialog('你点击了取消按钮', function () { });

    });

}

 

然后为这个按钮设置DisplayRule,点击下图红色框中右边的图标。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

我这里是简单的添加一个Value Rule。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

还需要检查下,你得按钮的 Command 的属性要有值,就是执行的命令,如果没有在界面上是不会显示的。

最后就是发布了,点击最上面一栏的 Publish 按钮,在弹出的对话框中点击 确定 按钮。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

没有出错的话就发布成功了,我们刷新下浏览器,去看看效果。打开记录,将选项集字段的值设置为 选项二,也就是符合我们之前设置的Display Rule,然后用Ctrl + S保存记录,命令栏会刷新,然后就可以看到我们的测试按钮了。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

  

我们点击测试效果如下:在弹出的对话框中点击确定按钮,cmi_name字段(也就是界面上的名称字段)旁边会有个红叉,并有提示语句,同时表单级别的通知消息也少了一条。如果点击取消按钮的话,就会再弹出一个消息告诉我点击了取消按钮,符合我对代码的期望。

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客
 
微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客
 

 

微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客

 

 素格格新疆特产店--做最好新疆特产的搬运工。
本店由博主的新疆老婆开设,搬运各种最好的新疆特产,是自用,送礼,年货,孝敬长辈特别是(岳)父母的首选!
微软Dynamics CRM 2013介绍系列之三十一:命令栏(command bar)的配置 - 罗勇 - 罗勇的博客
 
  评论这张
 
阅读(796)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018