动态创建DataWindow的问题

Shawnyoung 2003-08-23 09:49:02
小弟使用如下代码动态创建数据窗口:
str_syntax = sqlca.SyntaxFromSQL(...)
....
if dw_test.create(str_syntax,str_error) = 1 then
dw_test.settransobject(sqlca)
dw_retrieve()
end if

但是如何能够改变创建出来的数据窗口中每列的宽度,每列的名称小弟却不知道,比如我要把列“ID”的名称改为“编号”,把它的宽度改为“300”,代码该怎么写呢?请各位高手指教,谢谢!
...全文
22 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengzeng 2003-08-24
  • 打赏
  • 举报
回复
可用DESCIRB()取得列名
klbt 2003-08-24
  • 打赏
  • 举报
回复
可以这样取得列名以及列标题:

String Column_Name, Column_Head
Integer Columns, i

columns = Integer(dw_1.Describe("DataWindow.Column.Count"))

for i = 1 to columns
Column_Name = dw_1.Describe("#" + String(i) + ".Name")
Column_Head = dw_1.Describe(Column_Name + "_t.Text")
next
jdsnhan 2003-08-24
  • 打赏
  • 举报
回复
你可以从系统表中找出你用的table中的所有列的名称。
然后在modify时引用变量:
dw_1.modify(ls_column[j]+"_t.text='"+ls_bactcol+"'")
Shawnyoung 2003-08-24
  • 打赏
  • 举报
回复
但是情况是一开始并不知道该表中有几列,每列的名称也不知道,只是用“SELECT * FROM table”来完成动态创建的,有什么办法可以在代码“dw_1.Modify("id_t.Text='编号'")”知道该表中的所有列及列名呢?
klbt 2003-08-23
  • 打赏
  • 举报
回复
用Modify函数:
dw_1.Modify("id_t.Text='编号'")
dw_1.Modify("id.Width=300")
dw_1.Modify("id_t.Width=300")

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧