概述
在新建一个记录的时候,如果我们想根据前一个记录的一些值来初始化一些字段,我们可以使用表单的参数(Parameters)。使用表单的参数来传递数值,实体间可以不需要建立关系(建立关系后可以使用Mapping),而且也灵活很多,能响应表单上面的事件来做出不同反应。
假设当我们修改某个实体(假设为new_apple)的某个字段(假设为new_color)时,我们想马上让用户新建一个客户,那我们就可以使用表单的参数了。
首先我们在表单属性(Form Properties)里面,在参数那里(Parameters)新建自己想要的变量,包括名称和数据类型。在客户实体的表单中添加一个叫parameter_0(默认名字)的整数类型的参数。
然后我们新建一个Jscript的WebResource,写一个function。这里用到一个新方法openEntityForm,它是2013的一个新方法,需要三个参数:
1)实体名称
2)数据Guid
3)字典变量
如果不填数据的Guid,会以新建数据的形式打开一个Form(或者叫表单内打开?2013不会自动弹出新窗口了)
function FieldOnChange()
{
var parameters = {};
parameters["parameter_0"] = Xrm.Page.getAttribute("fieldName").getValue();
If(parameters["parameter_0"])
Xrm.Utility.openEntityForm("account",null, parameters);
}
我们还需要一个function来获得表单参数的值。
function AccountOnLoad()
{
var param= Xrm.Page.context.getQueryStringParameters();
if(param)
var parameter_0=param["parameter_0"];
//接着能使用parameter_0来给想要的字段赋值了或者做其他操作了
}
最后我们把FieldOnChange注册到new_apple实体的new_color字段的OnChange事件,把AccountOnLoad注册到客户实体的表单OnLoad事件。保存并发布就可以使用了。
谢谢阅读!
Jake Zhong
最后
以上就是殷勤信封为你收集整理的Dynamics CRM小窍门——表单的参数的全部内容,希望文章能够帮你解决Dynamics CRM小窍门——表单的参数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复