2012-09-10 75 views
0

我正在尝试使用Progress-4gl中的浏览器来运行控制键,以显示浏览中选定行的数量以及所有行的临时表的总数所选的行。我已经能够轻松地获得总行数,但是当试图从我创建的临时表中获取总数时,它只有最后一个选定的行值。如何从选定的行中为每个运行一个? 下面是一些代码我对浏览:从浏览器中获取所选行

on CTRL-L of browse-1 in frame a do: 
    assign buf-cnt = 0. 
    /*** FOR EACH BROWSE RECORD SELECTED **/ 
     assign jqty = jqty + int(tt.tt-qty). 
    assign jlines = browse-1:num-selected-rows. 
    display 
     jlineslabel "Selected Number Of Lines" 
     jqtylabel "Quantity Of All Lines" 
     with frame fselect down row 5 centered overlay. 
    pause. 
end. /* on CTRL-L */ 

回答

0

如果我没有理解这个问题正常,你可能需要一个与浏览相关的查询手柄的NUM-结果属性 - 这将是浏览-1:查询。所以:

jqty = browse-1:query:num-results. 
+0

对不起,我应该更具体一点。在浏览中,我需要累计从浏览中选择的项目的总数量(来自临时表格列),而不仅仅是总的列数。提前致谢。 –

+0

谢谢......我想通了,我也实现了更多功能的答案。我必须添加: do x = 1 to browse-1:num-selected-rows: stat = browse-1:fetch-selected-row(x)。 /** FOR EACH STATEMENT **/ 结束。/* do */ 感谢您的帮助@Tom Bascom –

0

任何人知道...

on CTRL-L of browse-1 in frame a do: 
assign buf-cnt = 0 
     jqty = 0. 
do x = 1 to browse-1:num-selected-rows: 
    stat = browse-1:fetch-selected-row(x). 
    for each usrw_wkfl no-lock where 
      usrw_wkfl.usrw_key1 = "862" and 
      entry(1,usrw_wkfl.usrw_key2) = tt.tt-part and 
      usrw_wkfl.usrw_key4 = tt.tt-dest and 
      usrw_wkfl.usrw_key3 = tt.tt-duedate and 
      usrw_wkfl.usrw_charfld[3] = tt.tt-qty: 
     assign jqty = jqty + int(tt.tt-qty). 
    end. /* for each usrw_wkfl */ 
end. /* do x = 1 to browse-1 */ 
assign jlines = browse-1:num-selected-rows 
     jtotal = browse-1:query:num-results. 
display 
     jlines   column-label "Selected Number!Of Lines" 
     jtotal   column-label "Total Number!Of Lines" 
     jqty   column-label "Quantity Of!All Lines" 
     with frame fselect down row 5 centered overlay. 
pause. 

结束。/* CTRL-L */