首页 > 代码库 > 驰骋表单设计器的外部接口

驰骋表单设计器的外部接口

Technorati Tags: 开源工作流引擎,驰骋.net工作流引擎,开源表单引擎,ccform,ccflow,jflow,ccbpm

 

1.在表单设计器中,如何获取自由表单下拉框的值?

应用背景:在表单的前台展现中,我们经常用到一个控件的js事件需要获取其它的控件的值,这里我们演示一下,如何在button 事件里获取一个下拉框的的选择的值。由此您可以开发灵活的js脚本应用了。

准备工作:在表单设计器的画布里,设置两个控件,一个button一个dropdownlistbox. 在button事件里做如下设置,如图所示。

技术分享

预览效果:

技术分享

2.如何用自由表单设计器映射我的物理表?

首先建立一个物理表或者视图,这个表或者视图必须有No,Name两个列,然后打开表Sys_SFTable, 把数据配置到里面。

3.如何利用ccform自定义表单来增加自己的控件,关于Sys_FrmEle表结构与数据存储设计.

   ccform的发展是根据应用环境不同不断的发展,所以控件类型的扩充会在以后经常遇到,如果为一种元素都增加一个类,这种设计方法不利于用户的扩充,为此我们增加了 Sys_FrmEle表.

   Sys_FrmEle 是ccform的表单元素数据存储的一个表,它是用于未来的表单元素扩展与用户对控件的自定义.

用于定义控件类型的属性 xml 在D:\ccflow\trunk\Data\XML\FrmEle.xml 文件中.

现把Sys_FrmEle表的存储结构解释如下,希望未来ccflow的爱好者能够根据此文档来定义自己的控件。

表结构:Sys_FrmEle

---------------------------------

MyPK varchar - 主键

FK_MapData varchar -表单ID

EleType varchar  -EleType 类型 HandSiganture手写签名, iFrame 网页框架. 其它的类型用户可以自己定义,

EleID varchar  -控件的ID.

EleName varchar  -控件名称

X float    -X位置

Y float    -Y位置

H float    -H高度

W float    -W宽度

IsEnable int  -是否启用

Tag1 varchar  - 预备字段1

Tag2 varchar  - 预备字段2

Tag3 varchar  - 预备字段3

Tag4 varchar  - 预备字段4

说明:

-----------------

1, 主键等于 MyPK= FK_MapData+"_"+EleType+"_"+EleID

2, EleID 一个表单中需要唯一.

3, EleType 类型 HandSiganture手写签名, iFrame 网页框架. 两个是ccform默认的, 如果是其它类型的控件需要您自己定义它.

4, Tag 是用于表示备用字段,它的意义是根据 EleType 来决定的.

当 EleType = HandSiganture时:

   Tag1 = 图片存储位置.

   Tag2 = 窗口打开宽度.

   Tag3 = 窗口打开高度.

当 EleType = iFrame时:

   Tag1 = URL, URL是可以带有@参数的.

   Tag2 = 框架宽度.

   Tag3 = 框架高度.

4.关于流程数据的从表数据汇总问题

我们知道ccflow的流程数据在运动过程中都是汇总到NDxRpt表里的(x表示流程编号),但是如果流程中有从表,从表如何汇总?我的应用系统在应用时如何获取从表的数据?

    CCFlow中的ccform 的从表为我们提供了如下个性化设置选项.

    1, 是否允许从上一个节点Copy数据. 解释: 这个属性控制节点在运动时是否要复制数据,如果是否,节点表单的从表数据就不参与copy.

    2, 从表的物理表. 解释: ccform在创建从表时自动创建一个默认的物理表名,但是您可以修改这个值.

应用场景: 有ABC 三个节点的流程, 三个节点表单的从表可以指向一个从表, 并且可以设定让它不执行copy. 这样的话从表的数据就可以从这个指定的明细物理表中找到.

5.如何使用驰骋工作流程引擎的表单设计器做数据提交前的表单验证

案例如下表单:

技术分享

需要验证的地方是:

在提交前必要的字段不能为空,签发人,签发人电话,编校人,编校人电话,文章标题。

输入的电话号码格式必须符合要求。

上传的文件必须符合要求的格式,必须是.doc  .docx

上传附件不能为空。

1, 发送前数据不为空的检查。

在节点属性里找到这个节点编号,比如是101。

根据节点编号建立一个ND101_Self.js文件,放入。D:\ccflow\trunk\DataUser\JSLibData文件夹里。
技术分享
说明:ReqTB 是ccform的内置函数,就是获取指定字段的文本框的值,与此相关的还有ReqDDL  与ReqCB . 内置函数请见表单操作手册。

打开节点属性,把在发送按钮里加入这个函数。

技术分享
执行效果如下:
技术分享

2, 利用系统与自定义的函数验证库处理格式输入的问题(此部分在表单设计器中有详细的操作步骤):

1,电话格式可以用ccform的扩展属性来设置。
技术分享

技术分享

技术分享

这样利用ccflow函数库或者自己定义的函数库就很轻松的实现了一个字段格式的验证了。

3,校验上传的附件是指定的格式:

技术分享

如果用户上传了不符合规定的附件,就会出现错误。

技术分享

6.如何利用ccform中自定义函数实现对从表数据的一行数据输入的安全与逻辑验证?

如何利用ccform中自定义函数实现对从表数据的一行数据输入的安全与逻辑验证?

本实例适用与ccflow5, 与ccflow4.5 以上的版本。

在ccform 的从表中cc 为大家提供了与主表一样的内置函数,ReqTB获取字段文本的值,ReqCB获取checkbox的值, ReqDDL获取下拉框的值。

请按照如下步骤处理:

第一步:建立一个自定义的函数放在D:\ccflow\branches\ccflow4.5\VisualFlow\DataUser\JSLib\下.

技术分享

打开这个文件按如下格式进行编辑逻辑处理内容:
技术分享

第二步:建立一个从表(或者在实例表单库里找一个):

技术分享

下一步:

技术分享

下一步:

技术分享

下一步完成:

技术分享OK, 我们看看运行效果吧.

技术分享

 

更多的功能探索,请访问在线演示平台:
流程演示环境:http://demo.ccflow.org/
OA演示环境:(用户名amdin 密码:pub) http://ccoa.ccflow.org/Main/NewHome/login.aspx
驰骋工作流引擎官方网站:http://www.ccflow.org/
与众多爱好者共同探索,请加官方QQ群:383352596
指定联系官方QQ:1146275232

驰骋表单设计器的外部接口