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. 跟着大佬重新入门DP

    数列两段的最大字段和 POJ2479 Maximum sum Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 41231 Acce ...

  2. Docker常见仓库Redis

    Redis 基本信息 Redis 是开源的内存 Key-Value 数据库实现. 该仓库提供了 Redis 2.6 ~ 2.8.9 各个版本的镜像. 使用方法 默认会在 6379 端口启动数据库. $ ...

  3. admin的配置

    当我们访问http://127.0.0.1:8080/admin/时,会出现: 执行命令: 生成同步数据库的脚本:python manage.py makemigrations             ...

  4. 使用Kubernetes需要注意的一些问题(FAQ of k8s)

    本篇文章并不是介绍K8S 或者Docker的,而仅仅是使用过程中一些常见问题的汇总. 重启策略:http://kubernetes.io/docs/user-guide/pod-states/, 对于 ...

  5. dos2unix批量转换的一种方法

    Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换. 少量文件转换: 对于单个或少量的文件转换,可以直接使用命令,如: dos2unix file ...

  6. iOS 10 推送全解析,注意事项

    本文旨在对 iOS 推送进行一个完整的剖析,如果你之前对推送一无所知,那么在你认真地阅读了全文后必将变成一个推送老手,你将会对其中的各种细节和原理有充分的理解.以下是 pikacode 使用 iOS ...

  7. 01_数据库连接池,数据源,ResultSetMetaData,jdbc优化

     一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每 ...

  8. android ndk之hello world

    前言:Android NDK r7及以上的版本已经集成了Cygwin编译环境,也就是说,我们完全可以抛弃庞大的Cygwin了. r6及以下版本,也可以抛弃几个G的完整版,使用精简过的Mini-Cygw ...

  9. (一二三)基于GCD的dispatch_once实现单例设计

    要实现单例,关键是要保证类的alloc和init只被调用一次,并且被自身强引用防止释放. 近日读唐巧先生的<iOS开发进阶>,受益匪浅,通过GCD实现单例就是收获之一,下面把这个方法与大家 ...

  10. iOS设计指南

    备忘:iOS设计指南:http://www.ui.cn/detail/32167.html