PB小技巧集锦
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('计算公式',行号)") 理论上可以取到数据窗口里所有能用计算列计算的内容,如:
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获得在父类中的事件返回值
PB小技巧集锦的更多相关文章
- LoadRunner小技巧集锦
preftest 性能测试工作室,专注于性能测试技术研究(www.AutomationQA.com) LoadRunner小技巧集锦 1.录制脚本中包含中文,出现乱码怎么办? 把录制选项中的Suppo ...
- flex开发小技巧集锦
关于flex开发网上有非常多的相关信息介绍,因此我们要想学习关于flex开发的知识信息技能是一件非常简单和方便的事情.而针对于flex开发小编要告诉大家的是一些flex开发小技巧.利用这些小技巧能够有 ...
- android浏览器开发小技巧集锦(转)
本人和朋友们做了一段时间浏览器,将一些小技巧分享出来,先写一部分,慢慢写,同时也为我们的浏览器打打广告 我们的浏览器将要上线,名叫沙发浏览 1.网页内的右键菜单 public boolean onLo ...
- sql server 小技巧 集锦
sql server 小技巧(1) 导入csv数据到sql server sql server 小技巧(2) 删除sql server中重复的数据 sql server 小技巧(3) SQL Serv ...
- [python]小技巧集锦
1.数组过滤,只适用于numpy alpha[alpha>0]:返回alpha中大于0的元素组成的数组 2.在范围内选取不等于某值的数值 j = i while j==i: j = int(ra ...
- sql server 小技巧(8) visual studio 2013里使用Sql server compact 4.0及发布问题处理
1. 安装 Microsoft SQL Server Compact 4.0 https://www.microsoft.com/zh-cn/download/confirmation.aspx?i ...
- sql server 小技巧(2) 删除sql server中重复的数据
with list_numbers as ( select Name, AuthorOrTime, Url, Price, EstimatePrice, Size, Category, ROW_NUM ...
- sql server 小技巧(1) 导入csv数据到sql server
1. 右击 DataBaseName,选择 Tasks->Import Data 2. 选择数据源: Flat File Source , 选择一个csv文件 Advance: 选择所有的列,改 ...
- sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据
1. 右健数据库 –> Tasks –> Generate Scripts 2. 选择所有的表 3. 下一步,选择Advanded, Types of data to script ...
随机推荐
- Linux:系统的密码忘记了,登录不上
可先通过进入单用户模式,修改下密码再登录记录. 第一步: 重启系统,在进入系统之前不断的按键盘左上角的“Esc”键,会进入如下页面: 然后按e进入编辑页面 第二步: 进入如下页面后,通过键盘的上下方向 ...
- kafka概念
一.结构与概念解释 1.基础概念 topics: kafka通过topics维护各类信息. producer:发布消息到Kafka topic的进程. consumer:订阅kafka topic进程 ...
- C 小复习
C语言 signed 与 unsigned: C语言中,当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型 signed ; unsigned ; cout << a ...
- MongoDB用户管理
1. 创建一个超级用户 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 use admin db.createUser( { user: "adminUse ...
- jquery不熟悉的方法
1.jquery有一个筛选api find. 语法很简单,比如: HTML 代码: <p><span>Hello</span>, how are you?</ ...
- Java实现计算20的阶乘
循环从1乘到20,要注意的就是结果可能会很大,长度超出int类型的范围,所以定义乘积的时候用long. 代码如下: public class Practice3 { public static voi ...
- 倒水问题 (codevs 1226) 题解
[问题描述] 有两个无刻度标志的水壶,分别可装x升和y升 ( x,y 为整数且均不大于100)的水.设另有一水缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水也可以相互倾倒.已知x升壶为空壶, ...
- python网络画图——networkX
networkX tutorial 绘制基本网络图 用matplotlib绘制网络图 基本流程: 1. 导入networkx,matplotlib包 2. 建立网络 3. 绘制网络 nx.draw() ...
- 对于java反射的理解
java中的反射是一种强大的工具,它能够创建灵活的代码,这些代码可以在运行时装配,无序在组件之间进行链接. 反射允许在编写与执行时,使程序代码能够接入装载到JVM的类的内部信息,而不是源代码中选定的类 ...
- Keil(MDK-ARM)使用教程(三)_在线调试
Ⅰ.概述 该文章总结Keil(MDK-ARM)在线调试相关的内容,详情请往下看. 该文章是基于新建好软件工程来讲述,关于Keil的下载.安装和新建工程我已将在前面做了详细的总结,不懂的可以参看我博客里 ...