动态创建数据窗口

博客主要介绍了动态数据窗口的创建过程,包括构造SyntaxFromSQL()函数、创建动态数据窗口、设置其属性、分配事务对象和提取数据等步骤。还展示了如何动态添加计算列,如设置计算列的表达式、格式等属性。

string lsDwsyntax,lserr,lserrC,lsSQLstr
DataWindow dw_1
//若采用数据窗口用户对象u_d_sample,则可改为:u_d_sample dw_1
//dw_1=Create DataWindow //若采用数据窗口用户对象u_d_sample,此句应去除。

OpenUserObject(dw_1)

//Select…As…的As可将列标题显示为As之后的字符,较为灵活方便。
//可根据实际情况设计生成Select语句及Where子句的可视化界面
lsSQLstr="Select A12 As 主管部门,A01 As 法人代码,mc As 企业名称,A06 From bb Where A12<'1'"

//构造SyntaxFromSQL()函数
lsDwsyntax=SQLCA.SyntaxFromSQL(lsSQLstr,"style(type=Grid)",lserr)
If Len(lserr)>0 Then
 //如果构造SyntaxFromSQL()函数失败,则显示错误信息并退出
 messagebox("错误信息!",lserr)
 Return
end if

dw_1.Create(lsDwsyntax,lserrC) //创建动态数据窗口dw_1
If Len(lserrC)>0 Then
 //如果创建动态数据窗口dw_1失败,则显示错误信息并退出
 messagebox("错误信息!",lserrC)
 Return
end if

//以下设置dw_1的一些属性,可根据实际需要设置。
dw_1.X=30
dw_1.Y=400
dw_1.width=this.width - 100
dw_1.height=this.height - 500
dw_1.Visible=True
dw_1.Enabled=True
dw_1.HScrollBar=True
dw_1.VScrollBar=True
//dw_1.object.header.height=800
//为dw_1分配事务对象SQLCA
dw_1.SetTransObject(SQLCA)
//提取数据
dw_1.Retrieve()

//动态加计算列

string ls_computer
if isvalid(dw_1) then
 dw_1.modify( 'datawindow.summary.height=100')
 //注意求计算列需要用别名
 ls_computer = 'create compute(band=summary alignment="1" expression="avg(岁数 for all)"border="0" color="33554432" x="1035" y="8" height="88" width="274" format="###,###.00" html.valueishtml="0"  name=compute_1 visible="1"  font.face="Arial" font.height="-12" font.weight="400"  font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )~r~n'
 dw_1.modify( ls_computer )
end if

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值