dynamics crm中对lookup视图的过滤是一个很平常性的需求,在2011的时候都是用添加自定义视图的方式例如下面这段示例代码

<span style="font-size: 18px;">var pEntityName = "sc_stock";
var pViewDisplayName = "符合条件库存";
var </span><span style="font-size:18px;">pSotckControl</span><span style="font-size: 18px;">= Xrm.Page.getControl("new_stock"); var pFetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"
+ "<entity name='sc_stock'><attribute name='sc_stockid'/>"
+ "<attribute name='sc_stocksn'/><attribute name='createdon'/>"
+ "<attribute name='sc_salebillamount'/><attribute name='sc_outputamount'/>"
+ "<attribute name='sc_bizbookresidue'/><attribute name='sc_bizbookamount'/>"
+ "<attribute name='sc_owner'/><attribute name='sc_storage'/>"
+ "<attribute name='sc_stocktype'/>"
+ "<attribute name='sc_uom'/>"
+ "<attribute name='sc_tank'/>"
+ "<attribute name='sc_product'/>"
+ "<attribute name='sc_bizunit'/>"
+ "<attribute name='sc_bizoperator'/>"
+ "<attribute name='sc_purchase'/>"
+ "<order attribute='sc_stocksn' descending='false'/>"
+ "<filter type='and'>"
+ "<condition attribute='sc_decreaseandoverflow' operator='eq' value='" + this.sc_isDecreaseandoverflow + "'/>"
+ "</filter>"
+ "</entity>"
+ "</fetch>" var pLayoutXml = "<grid name='resultset' object='10122' jump='sc_stocksn' select='1' icon='1' preview='1'>"
+ "<row name='result' id='sc_stockid'>"
+ "<cell name='sc_stocksn' width='100'/><cell name='sc_purchase' width='100'/>"
+ "<cell name='sc_bizunit' width='100'/><cell name='sc_bizoperator' width='100'/>"
+ "<cell name='sc_product' width='100'/><cell name='sc_owner' width='100'/>"
+ "<cell name='sc_storage' width='100'/><cell name='sc_tank' width='100'/>"
+ "<cell name='sc_stocktype' width='100'/><cell name='sc_uom' width='100'/>"
+ "<cell name='sc_bizbookamount' width='100'/><cell name='sc_bizbookresidue' width='100'/>"
+ "<cell name='sc_outputamount' width='100'/><cell name='sc_salebillamount' width='100'/>"
+ "<cell name='createdon' width='125'/>"
+ "</row></grid>"
var id = "{CFD4B604-1C6A-4E61-B057-BA07620C0D46}";
pSotckControl.addCustomView(id, pEntityName, pViewDisplayName, pFetchXml, pLayoutXml, false);
pSotckControl.setDefaultView(id);</span>

要写一大堆的查询XML,显示XML很是繁琐

2013中加入了addCustomFilter这个API,

<span style="font-size:18px;">Xrm.Page.getControl("new_stock").addPreSearch(function () {
var filter = "<filter type='and'>"
+ "<condition attribute='sc_decreaseandoverflow' operator='eq' value='" + this.sc_isDecreaseandoverflow + "'/>"
+ "</filter>";
Xrm.Page.getControl("new_stock").addCustomFilter(filter);
});</span>

代码极度简化,XML也只是用到了一个condition条件而已,只是对默认的视图添加了搜索过滤而不是添加新的自定义视图。

Dynamics CRM2013 Lookup Filtering using addCustomFilter的更多相关文章

  1. Dynamics CRM2013 去除界面顶部黄色的CRM For Outlook条框

    Dynamics CRM2013中每次打开系统页面上方都会有个黄条看着很是烦人,效果如下图 庆幸的是系统提供了关闭的开关,设置-管理-系统设置,把"设置CRM For Outlook消息是否 ...

  2. Dynamics CRM2013 编辑视图时弹出尚未保存所做的更改警示框

    CRM2013中当对视图进行自定义编辑时,总会弹出如下图所示的警示框,一般我们都会选择离开此页来保存我们所做的更改,显而易见的是这又是CRM2013的一个bug 在UR2 for  Dynamics ...

  3. Dynamics CRM2013 导入解决方案(快速视图窗体)SystemForm With Id Does Not Exist的解决方法

    在CRM2013的环境下导入解决方案报错,具体报错截图如下 根据id去数据库中查找这个id的systemform,确认是存在的,而且通过第二条记录我们也可以看到这个systemform属于哪个实体,我 ...

  4. Dynamics CRM2013 6.1.1.1143版本插件注册器的一个bug

    最近在做的项目客户用的是CRM2013sp1版本,所以插件注册器使用的也是与之对应的6.1.1.1143,悲剧的事情也因此而开始. 在插件中注册step时,工具里有个run in user's con ...

  5. Dynamics CRM2013 Form利用window.location.reload()进行全局刷新带来的问题及解决办法

    CRM2013以后,表单的保存后变成了局部刷新而非全局刷新,但很多情况下我们需要刷新整个页面,通过刷新页面来使脚本执行或者业务规则执行来实现某些业务效果,一般我们会使用window.location. ...

  6. Dynamics CRM2013 用户进入系统所必需的那些权限

    本篇以CRM2013为例,在CRM中新建一个安全角色后该安全角色基本是空的,如果新建的安全角色作为一个账号的唯一安全角色时,那这个安全角色除了需要配置业务场景所需的权限外,是要优先具备进入CRM系统的 ...

  7. Dynamics CRM2013/2015 Plugin注册工具Register New Assembly时无法看到注册按钮的解决办法

    CRM2013的注册插件工具UI相比2011之前有了一定的改变,但改变UI的同时也给开发人员带来了困扰,打开注册工具点击Register按钮选择dll时页面就是下面这样的,你完全看不到最下面的两个按钮 ...

  8. Dynamics CRM2013 附件禁用方案

    CRM2013的附件功能和以往有了不同,把公告.活动.注释合在了一块并称注释,在使用的过程中会发现一个无语的地方,就算表单状态为停用,注释还是处于可编辑状态,而且也查询不到公开的方法来处理注释的,为了 ...

  9. Dynamics CRM2013 sub grid中数据翻页问题

    CRM2013中一个很低级很令人无语的BUG,见下图subgrid中的明细条目超过当前页设置的条目后会有翻页,在底下有个paging bar会显示条数.页数.当前所处页数 但sp1版本的CRM打上ur ...

随机推荐

  1. VMWare 虚拟机 共享文件夹

    1.不能拷贝和直接拖拽文件至虚拟机系统中  解决办法:    通过共享文件夹的方式进行文件共享.   (Win7 32位  10.0版本的虚拟机). ①:选择虚拟机 虚拟机 → 设置  如下图: ②: ...

  2. MongoDB 高级索引

    考虑以下文档集合(users ): { "address": { "city": "Los Angeles", "state&qu ...

  3. 0426html常用标签属性

    一.基础语法 标签:作为网页的最小单元 1.双标签 内容的容器 2.单标签 控制性内容 注释    每一个模块都要写清楚注释 二.基本结构 <!DOCTYPE html>          ...

  4. 使用kprobes查看内核内部信息

    前言:使用printk打印变量等方法,是调试内核的有效方法之一,但是这种方法必须重新构建并用新内核启动,调试效率比较低.以内核模块的方式使用kprobes.jprobes,就可以在任意地址插入侦测器, ...

  5. Swift基础之侧滑Cell显示操作按钮

    好久没写过博客了,今天展示一个UITableView基础的内容侧滑Cell的方法使用,之前写过OC语言的http://blog.csdn.net/hbblzjy/article/details/517 ...

  6. C语言诠释--为什么内存是线性分布的。

    Author:伟易达集团软件工程师 II 杨源鑫Date :2016.11.11Subject:内存为什么是线性分布的 今天有位小伙伴问了我一个问题,问题大概是这样描述的:      师兄,我如何能够 ...

  7. LMAX高并发系统架构

    很早就看到过MF的这篇The LMAX Architecture,可是之前一来英文水平不够,二来确实看不懂- 今天有幸再次看到,一口气读完终于有所领悟. 1 Overall Architecture ...

  8. Linux--NFS和DHCP服务器

     (1) 在网络中,时常需要进行文件的共享,如果都是在Linux系统下,可以使用NFS 来搭建文件服务器,达到文件共享的目的. (2) 在网络管理中,为了防止IP 冲突和盗用,有效的控制IP 资源 ...

  9. android推荐使用dialogFrament而不是alertDialog

    DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等. 在Dia ...

  10. 【移动开发】startForeground()让服务保持前台级别

    最近在使用android 4.1系统的时候,发现在手机休眠一段时间后(1-2小时),后台运行的服务被强行kill掉,有可能是系统回收内存的一种机制,要想避免这种情况可以通过startForegroun ...