如何使用进度4gl在编辑器窗口小部件中搜索和显示表中的字段

时间:2016-11-25 11:16:43

标签: progress-4gl openedge

接受客户编号,然后将每个订单和项目的详细信息输出到编辑器小部件。 客户,订单,订单行和项目都是表名。 其中,客户和订单表将cust-num作为公共字段,订单和订单行(表名称)和订单将order-num作为公共字段,order-line和item将item-num作为公共字段。 现在我必须使用填充(f1是对象名称)来获取cust-num并使用搜索按钮(search1作为对象名称)来查找相应的字段并在编辑器小部件中显示它们(editor-1作为对象)名称)。

define temp-table ttcustomer
field custnum like customer.cust-num
field cname like customer.name
field orders like order.order-num
field items like item.item-num
field itemname like item.item-name .


 find first customer WHERE customer.cust-num = input f1 NO-LOCK .

    create ttcustomer . 

      assign
      ttcustomer.custnum = customer.cust-num
      ttcustomer.cname     = customer.name. 



   for each order WHERE Order.cust-num = input f1  NO-LOCK .

      assign
      ttcustomer.orders   = order.order-num.

      for each order-line where order-line.order-num = order.order-num no-lock.


         for each item where item.item-num = order-line.item-num no-lock.

         assign 
         ttcustomer.items = item.item-num
         ttcustomer.itemname = item.item-name. 
         end.
      end.
    end.

我已在搜索按钮中编写此代码。 如何在编辑器小部件中显示临时表ttcustomer请帮助我:)

1 个答案:

答案 0 :(得分:0)

使用浏览器而不是编辑器可能会更好。但是,如果您要使用编辑器,这应该可以满足您的需求:

DEFINE VARIABLE edData AS CHARACTER NO-UNDO.

FOR EACH ttcustomer:
    edData = edData + ttcustomer.items + ", " + ttcustomer.itemname + CHR(10).
END.

editor-1:SCREEN-VALUE = edData.

编辑器只是文本,因此您无法像使用浏览器那样进行任何记录选择/操作。如果您有许多ttcustomer记录,则存在溢出32k字符串大小限制的风险。