`
feiliboos
  • 浏览: 664399 次
文章分类
社区版块
存档分类
最新评论

Dynamics CRM 2011 编程系列(5):JS脚本编程之实战一

 
阅读更多

在前面的章节中,我们学习了脚本编程中的onload,onsave,onchange事件。在这章节中,我们将学习一个小例子,让大家明白在日常的开发中应该怎么组合它们来完成开发获取。(下载本节的完整代码

在制作这个小例子前我们首先得搭建实验环境:

1.新建自定义实体“实战一”

2.修改站点地图,在地图上添加选项卡“实战”

完成上述步骤后,我们就可以开始进行后续操作了。“实战一”的具体需求如下:

1.只有属性“当前状态”的值为“草稿”时,才可以修改记录。

2.属性“最晚处理时间”的值必须大于或等于当前日期。

3.如果在属性“当前状态”的值为“草稿”时保存了记录,那么将属性“当前状态”的值修改为“已提交”

接下来我们就来看看能完成上面需求的解决方案吧:

1.在实体的onload事件中判断属性“当前状态”的值是否为“草稿”,如果不为草稿则禁用表单上的所有字段

2.在属性“最晚处理时间”的onchange事件里添加验证函数,判断当前选择的日期是否符合需求中的规则

3.在实体的onsave事件中判断属性“当前状态”的值是否为“草稿”,如果为草稿则将属性“当前状体”的值换为“已提交”并进行保存处理

现在我们就来具体实现这个解决方案吧,具体操作如下图所示:

图 5-1-1 新建一条测试数据

图 5-1-2 添加脚本资源文件,后续的javascript函数需要保持在这个文件中

图 5-2-1 获取属性“最晚处理时间”的名称

图 5-2-2 为属性“最晚处理时间”添加onchange事件

图 5-2-3 编写onchange事件触发的脚本函数

图 5-2-4 onchange事件执行后的效果

图 5-3-1 为实体添加“onload”事件

图 5-3-2

图 5-3-3 “onload”事件执行后的效果

图 5-4-1 为实体添加“onsave”事件

图 5-4-2

图 5-4-3 记录保存前

图 5-4-4 记录保存后

使用到的脚本:

属性“最晚处理时间”的onchange事件


实体的“onload”事件


实体的“onsave”事件


小结:通过合理的组合使用“onchange”,“onload”,“onsave”事件可以完成大部的日常开发。并且你也可以在这些事件中使用Ajax技术,让程序执行能灵活。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics