hur.cn - 华软网

 热门搜索

请教一个通用预览窗口的问题???

  作者:未知    来源:网络    更新时间:2018/7/4
我有一个员工资料的数据窗口,其中部门一列是用下拉数据窗口引用部门资料表中的编号,但是我让它显示为名称,但是用通用预览窗口预览时,其中显示的却是部门的编号,请问这个问题应该怎么解决?

下面的我预览的代码

str_preview_parameter lstr_parm         //声明一个结构
datawindow l_dw

if isnull(dw_2) or dw_2.Enabled = false then
l_dw = dw_1
else
dw_2.Reset()
dw_1.RowsCopy(1, dw_1.RowCount(), Primary!, dw_2 , 1 , Primary!)
//dw_1.ShareData(dw_2)
l_dw = dw_2
end if

if l_dw.rowcount() < 1 then               //判断数据窗口是否有数据
MessageBox("注意","表中无任何数据!")
Return
end if

lstr_parm.i_datawindow_orientation = ii_orientation //记录打印方向
lstr_parm.i_datawindow_type = 1                     //数据窗口类型
lstr_parm.s_datawindow_syntax = l_dw.o b j e c t.datawindow.syntax
lstr_parm.dw_datawindow_name = l_dw


lstr_parm.any_date =l_dw.o b j e c t.data
openwithparm(w_print,lstr_parm,parent)

------华软网友回答------
这样我是看不出毛病了,不过出现这种问题总不外乎通用窗口里面没有关联好下拉数据窗口,或是关联好的子数据窗口没有检索数据之类的原因.
------华软网友回复------
应该不会啊,因为我在输入数据时(即未预览时),部门上显示的是名称啊,但一传递数据到通用预览窗口,那个部门就显示成编号了,真是头痛
------华软网友回复------
retrieve

------华软网友回复------
w_print,预览窗口里的代码是怎么写的?

问题好象出在那里
------华软网友回复------
ing
------华软网友回复------
老大能不能说详细点?
------华软网友回复------
以前做过个相同的功能,记得是:
…………………………
lstr_parm.any_date =l_dw.o b j e c t.data
---------------------------改为在预览窗口的ue_open()下的
lb_1 = l_dw.GetFullState(blb_data)
ll_rv = dw_1.SetFullState(lb_1)
IF ll_rv = -1 THEN
        MessageBox("Error", "SetFullState failed!")
END IF
....................
试一下吧....
------华软网友回复------
to saiche05(赛车) : 
怎么每天看到你在ing呀....
------华软网友回复------
这是我预览窗口OPEN事件的代码

string ls_err,ls_sqlsyntax

string ls_sum_page                 //总页数
string ls_page                     //页码

integer li_orientation             //记录打印方向

str_preview_parameter lstr_parm    //声明一个结构
lstr_parm = message.powerobjectparm

ls_dddw_name        = lstr_parm.s_dddw_name
ls_DisplayColumn    = lstr_parm.s_dddw_displaycolumn
ls_DataColumn       = lstr_parm.s_dddw_datacolumn
ls_datawindow_title = lstr_parm.s_datawindow_title
li_orientation      = lstr_parm.i_datawindow_orientation

if isnull(li_orientation) then li_orientation = 2   //1横向,2纵向

dw_preview.SetTransObject(sqlca)
//dw_preview = lstr_parm.dw_datawindow_name

if lstr_parm.i_datawindow_type = 0 then
ls_sqlsyntax = lstr_parm.s_datawindow_syntax
if trim(ls_sqlsyntax) <> "" then
dw_preview.create(ls_sqlsyntax)
else
messagebox("提示信息","没有动态数据窗口语法")
return
end if
else     //普通数据窗口预览
dw_preview.dataobject = lstr_parm.dw_datawindow_name.dataobject
end if

dw_preview.object.data = lstr_parm.any_date
------华软网友回复------
代码不完整啊,
在导入或共享数据前先retrieve一下
------华软网友回复------
预览前retrieve()下

你这个写的有些麻烦,我曾做过一个通的预览窗口,用共享数据完成的。
------华软网友回复------
各位说的不太详细,有谁有这方面的源码吗?能不能贴上来?我60分全部给他,现在问题还没解决!
------华软网友回复------
上面说的都不对。

你的dddw的属性中:edit--->"AutoRetrieve要打上"对"勾!
我刚试过,如果该项没有对勾,就是你说的现象。



------华软网友回复------
mtu207(比猫大的猫),我看过了,上面有打勾的,我快晕了我的QQ是352980680,哪位能用远程帮我看一看,先多谢了
------华软网友回复------
问题解决了,原因是由于新建的数据窗口对象中的下拉数据窗口没有retrieve()而已
------华软网友回复------
呵呵,恭喜楼主!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。