1. 数据窗口检查重复行
dw_1.SetSort ("user_id A")
dw_1.Sort()
dw_1.SetFilter ("user_id = user_id[-1]")
dw_1.Filter()
if dw_1.RowCount() > 0 then
Messagebox("注意", "用户编码重复.")
end if
dw_1.SetFilter ("")
dw_1.Filter()

2.使用函数Describe可以获取数据窗口对象中的信息。该函数语法是:

dwcontrol.Describe(propertylist)
其中,dwcontrol是数据窗口控件名称,propertylist是以空格分隔的特性或运算表达式列表,它用来报告列与图形对象的属性值。表达式可以用特定行与列的值进行运算。Describe函数返回的是一个字符串,该字符串是对指定属性的描述,不同的属性占用不同的行(不同属性用~n分隔)。如果有无效属性则返回该属性之前的属性取值和一个惊叹号(!)。如果某个属性没有值,则返回一个问号(?)。

3.用数据窗口控件名.describe("Evaluate('计算公式',行号)") 理论上可以取到数据窗口里所有能用计算列计算的内容,如:
1、取数据窗口的页数:
       dw_1.describe("Evaluate('pagecount()',1)")
2、取DropDownDW列显示的值:
       dw_1.describe("Evaluate('lookupdisplay(列名)',行号)")
3、取最小值:
       dw_1.describe("evaluate('min(billing_date_time)',1)")
4、求合计:
       dw_1.describe("evaluate('sum(charges for all)',1)")
4.根据从指定的子数据窗口中取对应值的显示值:
/**************************************************************************\
|* 函 数: w_zydj_001::wf_get_dwchild_display() *|
|*------------------------------------------------------------------------*|
|* 描 述: 根据值寻找子数据窗口的显示值 *|
|* 参 数: *|
|* value datawindowchild adwc_source ; *|
|* value string as_value_col ; *|
|* value string as_display_col ; *|
|* value string as_value ; *|
|* 返回值: string *|
|*------------------------------------------------------------------------*|
|* 示 例: *|
|*------------------------------------------------------------------------*|
|* 作 者: 冬Sir 日 期: 2013-09-12 *|
\**************************************************************************/
nuo_public_string lnv_string
String ls_display_value
IF NOT lnv_string.uf_isempty(as_value) THEN
String ls_find_exp
Long ll_find
ls_find_exp = as_value_col + "='" + as_value + "'"
ll_find = adwc_source.Find(ls_find_exp,,adwc_source.rowCount())
IF ll_find > THEN
ls_display_value = adwc_source.getItemString(ll_find,as_display_col)
ELSE
ls_display_value =""
END IF
END IF RETURN ls_display_value

5.显示各分组的序号 及 分组后每个分组中的序号

a、如何显示各个分组的序号:
建一个计算列,EXPRESSION设为countcumulativeSum(1   for   all   distinct   要分组的列名)
或者cumulativeSum(if(city   =   city[-1],   0,   1)   for   all),其中all可改成要分组号 试试。

b、如何设置datawindow分组后每个分组中的记录号?
建立一个计算列,expression为   getrow()   -   first(getrow()   for   group   1)+1,其中 first(getrow()   for   group   1)这句话要好好理解,它其实是求的该分组当中的第一行,相当于min(getrow()   for   group   1),同理last(getrow()   for   group   1)、max(getrow()   for   group   1)则表示该分组当中的最后一行的行号。

c、如何获取总分组数:
1、方法一:
 建一个计算列,EXPRESSION设为 "count(要分组的列名   for   all   distinct) "
2、方法二:
dw_1.describe( "evaluate( 'count(要分组的列名   for   all   distinct) ', "+string(dw_1.rowcount())+ ") ")
不能直接用ROWCOUNT()函数,:)
或:
dw_1.describe( "evaluate( 'countcumulativeSum(1   for   all   distinct   要分组的列名) ', "+string(dw_1.rowcount())+ ") ")

5.获得在父类中的事件返回值

在子类中的open中可以通过AncestorReturnValue获得在父类中的事件返回值

最新文章

  1. c++中的内存空间不足和自定义处理内存不足
  2. Activity调用静态方法改变UI,使用Handler来改变UI显示
  3. Backbone Collection——数据模型集合
  4. css3 transition属性变化与animation动画的相似性以及不同点
  5. esxi 5.1 由于断电错误无法启动 报错 bank5 invalid configuration
  6. 我对TCP CDG拥塞控制算法的改进和优化
  7. How to install Apache Server on Windows
  8. [LeetCode#201] Bitwise AND of Numbers Range
  9. web安全:sql 注入
  10. Codeforces Round #269 (Div. 2) A B C
  11. es6零基础学习之构建脚本(二)
  12. python各种转义字符
  13. dns缓存刷新时间是多久?dns本地缓存时间介绍
  14. JS笔记(三):数组、函数、类
  15. vue路由(一个包含重定向、嵌套路由、懒加载的main.js如下)and 路由跳转传参的query和params的异同
  16. Javascript 回调函数理解---二娃子买肾机6
  17. RHEL7 MariaDB测试
  18. 17 Go Slices: usage and internals GO语言切片: 使用和内部
  19. MySQLdb使用批量插入executemany方法插入mysql
  20. Hadoop的eclipse1.1.2插件的安装和配置

热门文章

  1. centreon 降低rrd磁盘读写
  2. EasyUI学习笔记
  3. 将Eclipse项目导入Android Studio出现中文乱码的问题
  4. Linux:设置alias永久生效
  5. ln: creating hard link 问题
  6. Oracle多线程并行使用、关联与指定索引执行
  7. Android IOS WebRTC 音视频开发总结(六四)-- webrtc能走多远我不知道,但这个市场真实存在
  8. 二十、ValueStack的常用方法
  9. LayoutInflater中四种类型inflate方法的介绍
  10. PHP中英文字符串截取函数无乱码(mb_substr)和获取中英文字符串字数函数(mb_strlen)