100分救助,关于数据窗口转换为word后的问题

accessok 2003-08-17 08:05:27
我在datewindow中的其中有几项是内嵌datawindow的edit是dropdowndw的,他们是这样的比如显示上海对应1 ,提交后台是上海对应1 北京对应 2
我用了dw_1.settransobject(sqlca);
dw_1.retrieve()
显示有问题:该项为1或2,然后我改动了datawindow的设置,即调整了dropdowndw,然后显示正常,即该项为北京,上海等地名,

但我把他们用word形式保存,代码如下,问题是到了word,显示的是又是1,2等,不是北京,上海等

具体word的代码如下: 请问怎样改,也让word显示如同datawindow,即显示地名,而不是数值,
__________________________________________________________________________________________
OLEObject ole_object
ole_object = CREATE OLEObject

//连接word
IF ole_object.ConnectToNewObject("Word.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF

ole_object.Visible = True

long ll_colnum,ll_rownum
constant long wdTableBehavior = 1
constant long wdAutoFitFixed = 0
constant long wdCell = 12
string ls_value

//得到数据窗口数据的列数与行数(行数应该是数据行数 + 1)
ll_colnum = Long(dw_1.object.datawindow.column.count)
ll_rownum = dw_1.rowcount() + 1

ole_object.Documents.Add("C:\WINDOWS\Application Data\Microsoft\Templates\Normal.dot",False,0)
ole_object.ActiveDocument.Tables.Add(ole_object.Selection.Range, ll_rownum, ll_colnum,wdTableBehavior, &
wdAutoFitFixed)

string ls_colname
integer i,j,k
for i = 1 to ll_colnum
//得到标题头的名字
ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t"
ls_value = dw_1.describe(ls_colname + ".text")
ole_object.Selection.TypeText(ls_value)
ole_object.Selection.MoveRight(wdCell)
next

dw_1.setredraw(false)
ole_object.Selection.MoveLeft(wdCell)
for i = 2 to ll_rownum
for j = 1 to ll_colnum
dw_1.scrolltorow(i - 1)
dw_1.setcolumn(j)
ls_value = dw_1.gettext()
ole_object.Selection.MoveRight(wdCell)
ole_object.Selection.TypeText(ls_value)
next
next
dw_1.setredraw(true)

constant long wdFormatDocument = 0
//保存新建的文档
ole_object.ActiveDocument.SaveAs("e:\pb_yan\明细表.doc", 0,False,"",True,"",False,False,False, False,False)

//断开OLE连接
Ole_Object.DisConnectObject()
Destroy Ole_Object
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
accessok 2003-08-18
  • 打赏
  • 举报
回复
怎样改变数据窗口的text????
accessok 2003-08-18
  • 打赏
  • 举报
回复
能不能讲的再详细点,谢谢
polugen 2003-08-18
  • 打赏
  • 举报
回复
可以修改数据窗口的text、也可以修改数据窗口关联的表把表中列名中的属性-headers页的label 写入中文。
freeliu 2003-08-18
  • 打赏
  • 举报
回复
ls_value = dw_1.describe(ls_colname + ".text")
换成
ls_value = dw_1.describe(lookupdisplay(ls_colname))
具体的语法我忘了,反正用lookupdisplay可以得到ddlb或dddw的显示值。
accessok 2003-08-18
  • 打赏
  • 举报
回复
请大家看看这个帖子

611

社区成员

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

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