双击数据窗口某列,则隐藏该列。打印时,该列数据已隐藏,但原列位置却留下空白。解决思路
双击数据窗口某列,则隐藏该列。打印时,该列数据已隐藏,但原列位置却留下空白。
窗口中两个数据窗口A和B ,根据用户选中数据窗口A 中的记录,生成隐藏数据窗口B(需要打印),想实现双击A 中某列,则B中相应列也隐藏。
现在 ,当用户双击数据窗口A时,列被 隐藏,但是打印的时候,数据窗口B中原列位置留下空白。怎么处理?
谢谢。
------解决方案--------------------
你的数据窗口B是Grid的?
怀疑你的A数据窗口是Grid的,B是FreeForm之类的,列隐藏后,就会留下空白,你需要把这个列之后的所有列的x位置要减掉隐藏列的宽度,即向左移动,不要留下空白。
------解决方案--------------------
遍历数据窗口中对象,获取column
///////////////////////////////////////////////
String ls_objects,ls_taborder
String ls_obj[], ls_Obj_Band[]
Long li_pos, li_i
ls_objects = as_dw.Describe("datawindow.objects")
ls_objects += '~t'
DO While ( Pos( ls_objects, "~t" ) > 0)
li_i ++
li_pos = Pos( ls_objects, "~t" )
ls_obj[li_i] = Left( ls_objects, li_pos - 1 )
ls_objects = Right( ls_objects, Len(ls_objects) - li_pos)
IF as_dw.Describe(ls_obj[li_i]+".band") = "detail" THEN
IF as_dw.Describe(ls_obj[li_i]+".type") = "column" THEN
...........................
END IF
END IF
LOOP
窗口中两个数据窗口A和B ,根据用户选中数据窗口A 中的记录,生成隐藏数据窗口B(需要打印),想实现双击A 中某列,则B中相应列也隐藏。
现在 ,当用户双击数据窗口A时,列被 隐藏,但是打印的时候,数据窗口B中原列位置留下空白。怎么处理?
谢谢。
------解决方案--------------------
你的数据窗口B是Grid的?
怀疑你的A数据窗口是Grid的,B是FreeForm之类的,列隐藏后,就会留下空白,你需要把这个列之后的所有列的x位置要减掉隐藏列的宽度,即向左移动,不要留下空白。
------解决方案--------------------
遍历数据窗口中对象,获取column
///////////////////////////////////////////////
String ls_objects,ls_taborder
String ls_obj[], ls_Obj_Band[]
Long li_pos, li_i
ls_objects = as_dw.Describe("datawindow.objects")
ls_objects += '~t'
DO While ( Pos( ls_objects, "~t" ) > 0)
li_i ++
li_pos = Pos( ls_objects, "~t" )
ls_obj[li_i] = Left( ls_objects, li_pos - 1 )
ls_objects = Right( ls_objects, Len(ls_objects) - li_pos)
IF as_dw.Describe(ls_obj[li_i]+".band") = "detail" THEN
IF as_dw.Describe(ls_obj[li_i]+".type") = "column" THEN
...........................
END IF
END IF
LOOP