Label数据窗口, “标签”窗口加载数据并打印

发布时间 2023-06-01 17:35:02作者: 孟伟龙

说明:依据的"数据窗口(dw_6)"数据变化时需要调用该函数重新检索加载打印数据(of_label()),如下

 

 效果:

 1 // 自建的函数,用于操作标签"label"数据窗口对象,加载及打印数据(隐藏)
 2 // 依据的"数据窗口(dw_6)"数据变化时需要调用该函数重新检索加载打印数据(of_label())
 3 long ll_row,ll_rowcount, ll_getrow, ll_turn_times, ll_find = 0, ll_index
 4 String ls_dye
 5 // 清空数据(重新加载数据前)
 6 Tab_1.Tabpage_6.dw_print.reset()
 7 
 8 // //标签窗口中"text"文本框赋值
 9 //  Tab_1.Tabpage_6.dw_print.Modify("t_1.Text = '"+ string(Tab_1.Tabpage_6.dw_6.object.turn_times[ll_getrow])+"'")
10 //    Tab_1.Tabpage_6.dw_print.Modify("t_" + string(ll_row) + ".Text ='" + string(Tab_1.Tabpage_6.dw_6.Object.da_cname[ll_row]) + "'")
11 
12 // 根据排缸号获得查询到的总行数(可能轮次不同)
13 ll_rowcount = Tab_1.Tabpage_6.dw_6.rowcount()
14 
15 if ll_rowcount < 1 then return        // 未查到数据
16 
17 ll_getrow = Tab_1.Tabpage_6.dw_6.getrow()        // 选中行行号
18 
19 // 得到选中行的“轮次”
20 ll_turn_times = Tab_1.Tabpage_6.dw_6.object.turn_times[ll_getrow]
21 
22 // 遍历查询到的所有行找出“轮次”相同的数据
23 do
24     // 默认先添加一行(整一个“标签”才是一行)
25     ll_row = Tab_1.Tabpage_6.dw_print.insertrow(0)
26     
27     // label中的列赋值(直接变量赋值)
28     Tab_1.Tabpage_6.dw_print.object.pds_no[ll_row] = dw_hdr.object.pds_no[1]    // 排缸号
29     Tab_1.Tabpage_6.dw_print.object.turn_times[ll_row] = ll_turn_times            // 轮次
30 for ll_index = 1 to 8
31     // 得到需要”打印“行的行号(轮次相同),从第一行开始遍历
32     ll_find = Tab_1.Tabpage_6.dw_6.find( 'turn_times=' + String(ll_turn_times), ll_find+1, ll_rowcount)    
33     if ll_find = 0 then return        // 未查询到匹配,退出
34     if ll_find <= ll_rowcount then
35         // “试剂”和“数量”列赋值(需要循环列名)
36         Tab_1.Tabpage_6.dw_print.setitem( ll_row,'dye'+string(ll_index), Tab_1.Tabpage_6.dw_6.Object.da_cname[ll_find])    
37         Tab_1.Tabpage_6.dw_print.setitem( ll_row,'qty'+string(ll_index), String(Tab_1.Tabpage_6.dw_6.Object.qty[ll_find]) + "g")
38     end if
39     
40     if ll_find = ll_rowcount then return        // 最后一条数据,直接退出
41 next
42 loop while ll_find < ll_rowcount        // 循环结束