涉及的实体
1.“商机”实体
2.“客户”实体
需要实现的需求
1.当“客户”中的属性值“主要联系人”被清空时,删除被清空的“联系人”记录。
2.当“客户”中的属性值“年收入”更改时,需要更新所有与其关联的“商机”记录。将“商机”记录中的属性值“预计收入”更新为最新状态。(商机的“预计收入”=客户的“年收入”)
实现方案
1.在“客户”实体的onload事件中获取“主要联系人”的值并进行缓存。并为属性“主要联系人”编写onchange事件,当该值发生改变时与onload事件缓存的值进行比较,如果是清空操作。则删除被清空的“联系人”记录。
2.为“客户”实体中的属性“年收入”编写onchange事件。当该值发生改变时,更新与其关联的所有“商机”记录中的属性值“预计收入”。
技术分析
设计的实现方案使用了Ajax技术,难点在于如何构造需要传送给服务器端的信息,以及跨实体进行迭代更新操作。
实现步骤
图1
图2
图3
图4
图5
图6
图7
图8
图9
图10
图11
图12
图13
图14
使用到的脚本
实现方案1所用到的脚本如下:
实现方案2所用到的脚本:
代码分析
SaveTempData函数在实体的onload事件时会缓存一个值,方便以后获取。这点说明,实体上的onload,onsave以及每个属性的onchange事件都是在一个对象上执行的,所以我们可以通过类似“this.data=123”这样的方法制作一个公共环境变量。
通过Ajax对实体进行更新和删除操作时需要设置一些特殊的请求头信息。更新操作:uptRequest.SetRequestHeader("X-HTTP-Method", "MERGE");删除操作:delRequest.SetRequestHeader("X-HTTP-Method","DELETE")。
小结
现在我们已经介绍完了用JS对实体进行CRUD操作,实现这类操作的编码并不是很困难。但是需要非常的细小,很多时候我们往往会因为一个拼写错误而调试半天。当然,
我并不希望这类情况天天发生。所以在接下来的章节中我将开发一个CRUD的辅助类,这样我们才能从无尽的噩梦中逃离。
代码下载
本章的解决方案下载
分享到:
相关推荐
Dynamics CRM 2011编程系列文章将会介绍作者在日常开发中涉及到的技术和心得,其中包含:脚本开发,插件开发,系统配置以及系统的高级开发技巧。具体情况请关照博客:http://blog.csdn.net/ghostbear
CRUD 操作CRUD 代表创建、读取、更新和删除。 以上就是持久化存储的四个基本功能。 此外,首字母缩略词中的每个字母都可以指代在关系数据库应用程序中执行并映射到标准 HTTP 方法、SQL 语句或 DDS 操作的所有功能。 ...
Spring博客CRUD-API SpringBoot中的Blog实体CRUD API
crud__js 简单的 javascript Crud 系统
Este es una simple aplicación CRUD (Create/Retrieve/Update/Delete) de ejemplo, basada en el framework de front-end AngularJS en lenguaje JavaScript y Foundation。 Puedes ver una demostración aquí...
CSV-CRUD-Lab1:实现CRUD方法的小CRUD工作者
##使用完全支持Crud操作在CRM Dyanmics 365中执行虚拟实体的插入您好,我是Sudhakar Verma ,今天我要在CRM Dynamics 365中使用创建更新,读取,删除的所有Crud操作来创建虚拟实体。 如果您对虚拟实体不了解,请使用...
PHP-CRUD:初学者使用纯PHP CRUD
SpringMVC-RestfulCRUD 利用SpringMVC做一个CRUD(增删改查)符合Rest风格的; C:Create:创建 R:Retrieve:查询 U:Update:更新 D:Delete:删除 数据库:保存数据; 使用Map,List保存数据...
/users/newPUT: /users/update/:idDELETE: /users/delete/:id 例子: http:// localhost:3000 / users / new 身体“名称”:“卢卡斯” “年龄”:20 “语言”:“ Javascript”二手工具交付科尔斯表示快速验证器...
。
crm-crud-basic REST和异步等待的CRM Crud
vue-dynamic-crud支持灵活配置,快速搭建CRUD前端界面,彻底摆脱拧螺丝:nut_and_bolt:。功能 CRUD功能模块。 支持可配置,动态渲染。 支持命令行快速生成代码块。预览启动项目安装依赖npm install启动本地开发环境...
php_CRUD:我使用php创建了CRUD
crud_rest_tour 具有三个实体的CRUD RESTful Java程序:旅游者,旅游,城市
课程-nodejs-heroku-express :purple_heart: :fire: 课程的CRUD项目使用:Node.js,MongoDb,Jade和Heroku描述基于TreinaWeb上的NodeJS课程制作的项目要测试项目,请点击要求Npm Node.js如何使其运作? 克隆此存储库...
FLEX 编程入门系列之 数据库CRUD操作
使用Axios和Rest API的React Redux CRUD应用示例 构建一个React Redux CRUD应用程序以使用Axios使用Web API,并使用Router&Bootstrap显示和修改数据。 React Redux教程应用程序在其中: 每个教程都有ID,标题,...
WebAssign03_Express_CRUD:Node Express和MongoDB Atlas CRUD
PERN:使用Postgres进行完整的CRUD操作