最近做项目接触到了很强大的Web套件工具:硕正富文本应用套件,特此记录下学习插件的点滴:

********************* TreeList/FreeForm *********************

1.页面通过xml配置,xml中的table_id对应数据库的表名,col_physical_name对应表中的字段,col_type对应字段的类型。

2.页面加载时执行OnReady方法,在OnEvent方法中判断各种事件的触发。

3.页面加载类型分为TreeList和FreeForm两种,TreeList为列表,通常取AF为id,FreeForm为表单,通常取FM为id。

4.Tab标签页下的方法调用:Tab1为当前table页的id,tab_OrderData为页签的id

var changeXML = AF.func("Tab1.tab_OrderData.GetChangedXml", "level=2");

5.xml中列的属性,col_type对应的是数据库中字段的类型,而datatype是页面验证的数据类型,通过配置datatype可自动验证数据。

6.配置下拉框数据时,edittype要写成dropdownlist,还要起一个dropdownlistid,在下方dropdownlists处配置数据源。例如:

数据源:

isTreeNodeSelectAble="true" />

7.TreeList列表在提交时,property中必填key,否则不能提交。

8.TreeList列表在加载数据时,后台table转json的方法中需要传入记录总条数,用来显示分页控件,否则记录只会显示一条。

9.在列表首列加入全选checkbox:AF.func("InsertCol", "0\r\nname=checked;isCheckboxOnly=true");

10.获取选中checkbox的行号(多行号用逗号分割):var checkRowNumbers = AF.func("findAll", "checked=1");

11.标签切换:AF.func("SetCurSel", "Tab1 \r\n 1"); 最后那个是切换到第几个标签,从0开始

12.aspx页面文件应该在根目录下一级,如果在文件夹下还有二级文件夹,则在查找条件区的字段时会因找不到路径而报错。

13.搜索区的字段加载不出来的原因是顶部的xmlpath配置不正确,如果是tab页的话,则xmlpath应为主表对应的xml,而非tab页的。

14.自增长的表插入一条数据时返回主键:insert into tb1 values('...'); select @@IDENTITY id

15.加载列表时,如果有主外键关联的字段,这样配置:

首先清楚什么是主表、子表:如果有一个用户表,一个性别码表,则性别表为主表,用户表为子表。

供应商类别

注:①table_id对应下面TableLists中的TableInfo中的id="relation_type",并不是真正的表名。

②col_main_name为子表中与主表对应的字段

③col_physical_name是主表中存名称的字段,也就是用来显示在页面上的字段。

④name为子表中对应主表的字段名。

配置好上面的字段后,再配置两表的关联关系:

注:①id="relation_type"对应上面配置的table_id

②table_alias_name不是真正的字段,无关紧要。

③table_physical_name是主表的表名

④relation_table_name是子表的表名

⑤main_col为子表中与主表关联的字段

⑥detail_col为主表中与子表关联的字段

⑦relation为两表关联的关系,连接可分为:内连接、左连接、右连接

16.数据库在设计表的时候,注意字段不要与关键字重复。

17.可编辑的下拉框:edittype="editabledroptreeList",把editable去掉则为只读。

18.列表混添加混编辑,应该调用tl.AddMuiltTlData方法。

19.Jquery Ajax火狐浏览器返回的result为何是object XmlDocument?因为ajax请求缺少dataType属性。

20.Jquery的dataType包括:

①"xml": 返回 XML 文档,可用 jQuery 处理。

②"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。

③"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),

所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)

④"json": 返回 JSON 数据 。

⑤"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回

调函数。

⑥"text": 返回纯文本字符串

21.列表删除数据时,提示找不到main_table_name,可能是调用了FreeForm的方法;

22.屏蔽右键:Right_Shield(AF); //屏蔽右键

23.TreeList和FreeForm获取元素的值:

①FM:FM.func("GetValue", "字段");

②AF:var currentRow = AF.func("GetCurrentRow", "");  AF.func("GetCellData", currentRow + " \r\n 字段");

24.日期控件默认值:defaultvalue="=now()" datatype="date"

25.小数格式:editmask="#,###.0000" datatype="double"

26.插入行:AF.func("InsertRows", "0 \r\n 1");

27.Treelist赋值:

var curRowNum = AF.func("GetCurrentRow", "");  //获取当前行

AF.func("SetCellData", curRowNum + " \r\n 字段 \r\n" + 值);  //注意\r\n与值之间不要有空格

28.FreeForm赋值:

FM.func("SetValue", "字段 \r\n" + 值);  //FreeForm不需要获取行号,\r\n与值之间不要有空格

29.取消行:AF.func("DeleteRows", curRowNum + " \r\n 1");

30.设置元素属性,如隐藏、不可用、不为空等:AF.func("SetObjectProp", "ID \r\n visible \r\n false");

31.获取xml的时候要写level=2,否则后台找不到NewRow还是ModifyRow,如:AF.func("GetChangedXML", "level=2");

32.加载数据:

TreeList:AF.func("bBar.SetObjectProp", "ID0\r\n dataURL \r\n" + data + "\r\n mode=asynch");

FreeForm:FM.func("Load", data);

33.加载列表数据,并且加载分页数据:

var h = AF.func("GetHandle", "");

AF.func("bBar.BindPager", h + "\r\n ID0");

AF.func("bBar.SetObjectProp", "ID0\r\n dataURL \r\n" + data + "\r\n mode=asynch");

34.TreeList  GetChangedXML  获取数据几种方式:

可选, 可以有如下的选项,相互以分号分隔:

level - 级别号,可以是0(默认)、1、2、3,其含义分别为:

0 - 级别0,生成当前全部、最新内容(不包括修改前的原始内容);

1 - 级别1,仅生成被修改过的单元格的内容(包括原始内容);

2 - 级别2,在级别1的基础上,增加被修改过单元的整行内容;

3 - 级别3,内容包含所有行、所有列、修改前后的内容;

isIgnoreChange - true/false, 仅用于Level=0. true表示不管内容是否被修改过,始终生成XML; false表示除非内容被修改过,否则返回空串. 默认是false;

startRow - 开始行,默认是0;

endRow - 结束行,默认是-1,-1表示最后行;

DateFormat - 日期的格式,默认是'%Y.%m.%d',可参见公共内容中now( )函数的参数;

********************* Report *********************

1.report定义:

(注意:报表分为好几种模式,只有在inputDSRunTime模式下才可以获取由数据源绑定的和数据,为操作数据库做准备)

2.report报表绑定数据分为两种:

1:data绑定,主要用于数据库中的主表数据。

2:dataRow绑定,主要用于数据库中的明细列表的显示。

3.report获取数据的方式范围两种:

1:对于数据绑定为data方式的获取方式 :

(1) var mainchangeXML = AF.func("CollectXML", "BackColor=#FEFEFE"); //通过背景颜色获取主表的XML

(2) var mainchangeXML = AF.func("CollectXML", "别名"); //通过别名获取主表的XML

2: 对于数据绑定为data方式的获取方式 :

(1) var childChangeXML = AF.func("GetChangedXML", "ds=ds1;level=2"); //获取明细表XML  ds=ds1表示当前

绑定Data为ds1的XML数据

4.report获取修改过内容的单元格函数  GetChangedCells  (注意:ResetChanged 和  GetChangedCells要一起使用,

否则会达不到想要的效果,其中ResetChanged函数一般用在硕正  OnReady函数中)   例:

1: AF.func("ResetChanged", ""); //合并修改内容,为以后调用 GetChangedCells( ) 作准备.

2: var mainchangeCells = AF.func("GetChangedCells", ""); //获取修改过内容的单元格   和ResetChanged一起使用

5.report绑定数据:

AF.func("setsource", "ds0 \r\n " + data);    //data为Json数据

6.report绑定数据源: calc函数:此函数用在setsource后,否则不会显示数据,另外在执行了calc函数之后,在执行 insertRows

函数会达不到效果,所以一定要在执行完calc函数之后在用其他函数。例:

AF.func("calc", ""); //执行报表的计算,包括数据源的取数填充

7.report定义事件函数:SubscribeEvent   事件要先定义才能在硕正OnEvent中使用,这里不如treelist和freeform强大   例:

AF.func("SubscribeEvent", "SelChanged \r\n Clicked \r\n DblClicked \r\n EditChanged \r\n Editing");

xml 硕正报表_硕正控件学习记录相关推荐

  1. xml 硕正报表_硕正轻量级富Web应用套件–硕正报表主要指标及功能清单

    分类 功能 描述 符合的技 术规范 支持浏览器 主流浏览器: Chrome, IE( 包括 64 位 ) , Firefox 国产浏览器: 360 极速浏览器 , 360 安全浏览器 , 猎豹 , 百 ...

  2. GMap.net控件学习记录

    主要参考网址 http://www.cnblogs.com/luxiaoxun/p/3802559.html http://www.cnblogs.com/luxiaoxun/p/3463250.ht ...

  3. wxpython制作表格界面_[Python] wxPython 菜单栏控件学习总结(原创)

    1.总结 1.大体创建过程 1.创建一个 菜单栏 : menuBar = wx.MenuBar() 相当于这个白色地方,没有File这个菜单 2.创建 菜单 : fileMenu = wx.Menu( ...

  4. 【Android控件属性记录】

    #Android 控件属性记录 方便查找 控件属性: android属性 android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true ...

  5. AJAX Control Toolkit 控件学习(转自csdn山巅)

    AJAX Control Toolkit 控件学习 2006-1-16 ToggleButton 关联ASP.NET CheckBox控件 RoundedCorder 造就圆角框 PasswordSt ...

  6. CGRidCtrl控件 学习心得

    wuqinxiang0我的:收件箱资源博客空间设置|帮助|退出 首页 业界 移动 云计算 研发 论坛 博客 下载 更多 狂想盼盼 积累点点滴滴 目录视图 摘要视图 订阅 新版论坛系列介绍之二--功能介 ...

  7. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  8. ListView控件学习系列2-编辑ListView(Edit,Update,Insert,Delete)

    目录: ListView控件学习系列1-了解ListView控件 ListView控件学习系列2-编辑ListView ListView控件学习系列3-ListView选择,排序,分页 ListVie ...

  9. 实现Repeater控件的记录单选(二)

    前一篇<实现Repeater控件的记录单选>http://www.cnblogs.com/insus/p/7426334.html 虽然可以实现对Repeater控件的记录进行单选,但是, ...

最新文章

  1. ps -aux返回超过100%
  2. mysql dba系统学习(14)mysql用户管理之一、二
  3. VMWare ubuntu虚拟机异常关闭打开报错:该虚拟机似乎正在使用中(下班虚拟机最好关闭,免得又异常关闭导致问题)(千万别在虚拟机下win+L锁屏,解锁后就打不开虚拟机了)
  4. PHP怎样防止小数点精度不丢失,javascript小数精度丢失的完美解决方法
  5. 跨域请求/SpringMVC拦截器
  6. 物联网 mysql数据库优化_MySQL数据库优化大全方法汇总-阿里云开发者社区
  7. php 取消命名空间,到PHP命名空间或不到PHP命名空间
  8. WiFi6技术特点及现状调研
  9. Bone Collector——01背包
  10. vmix一块屏幕分成三块_定点爆破三块绊脚石,OLED电视或可星火燎原
  11. Uclinux、Linux区别
  12. PowerShell 实现批量下载文件
  13. linux tail 命令 阿星小栈
  14. 2021年中国农副食品加工行业现状分析:营业利润同比增长3.7%[图]
  15. 【华为OD机试真题 JAVA】找城市
  16. App产品原型背后要交代的细节和要理解的原则(上)
  17. 如何进行微距摄影(转)
  18. Spark入门官方文档
  19. android精准计步器,Android 超精准计步器开发 - Dylan 计步
  20. 通联支付“当面付”有哪些优势?

热门文章

  1. 【Flink】Flink SQL 读取 CSV 文件
  2. “绿多多”绿色资产资讯:良设板+“空间优造”亮相雄安 绿色生态进击!
  3. 解决安卓软件提示“解析软件包时出现问题”
  4. Java 递归实现树形菜单
  5. linux内核修改电流,为AM335x移植Linux内核主线代码(43)USB HUB和鼠标
  6. 第二十四篇:SuperSpeed/HighSpeed USB的ISO传输
  7. 一个很好用的Venn图在线编辑网站
  8. 机器学习:考试预测实战(特征隐射,独热编码,特征重要性选择,网格搜索调参)
  9. springboot消费kafka Listener method could not be invoked with the incoming message
  10. 华为 eNSP 打开警告:请将eNSP相关应用程序添加到windows firewall的允许程序列表,并允许其在公用网络上运行!