PB中,在用grid形式的数据窗口中,跨列标题头的制作方法。

时间:2020-12-18 23:17:53

    PB的数据窗口中,有一种grid形式的数据窗口,因为可以拖动各列的列宽,在程序中广泛使用,但在制作中国式的报表中,又存在着许多不方便,所以,一般程序员对它是“又爱又恨”。下面,经过摸索,找出一个制作跨列标题头的制作方法,制成后,标题头可以随着列宽的变化而变化,非常方便。结果如下图所示:

PB中,在用grid形式的数据窗口中,跨列标题头的制作方法。

       步骤如下:
        1.添加一个text,将背景色选为非透明色;position中的layer,选为foreground,这样就可以拖动列宽了
         2.在position属性标签页的width里,点右边的小按钮,出现定义其宽度的对话框,在里面输入long(describe("ck_je_t.x")) + long(describe("ck_je_t.width")) - long(describe("ck_sl_t.x")),这里红色的部门作一个解释,这里实际上定义了text的动态列宽,即它的列宽要依据“金额”列的x值 + “金额”列的宽度,再减去“数量”列的x值,这样实际上就在程序运行时,可以动态地设置“出库”标题栏的列宽了。
        3.再设置text的x值,在PB10.5里,x值右边的小按钮显示为灰色,不可用,没关系,关掉它,在system tree里找到它,再用edit source找开它,学会分析,找到刚才添加的text的属性,在默认值后面加上一个表达式,我加的是“~tlong(describe(~"ck_sl_t.x~"))”,注意其中的格式,在edit source里,会用~t作为分隔符。
         4.好了,试试看吧, 在程序运行时,拖动列,跨列的标题头也跟着动了,完全达到了我们要求的效果。