如何在powerbuilder中自动填充字段

时间:2017-10-23 01:28:32

标签: powerbuilder powerbuilder-build-deploy powerbuilder-pfc

我是PowerBuilder 10.5的新用户我试图创建一个成本应用程序,我想在从DDDW中选择enter image description here材料时自动填充行我想自动填写价格&安培;单元。有2个表1Material - 单位 - 价格2-项目名称DDDW - 数量 - 单位 - 价格 我是在MSaccess上做的,但我不知道如何在PowerBuilder上编码 访问代码是

Private Sub ItemName_AfterUpdate()
Unit = ItemName. Column(2)
Price = ItemName. Column(3)
End Sub

我怎么能在PowerBuilder中做到这一点

2 个答案:

答案 0 :(得分:1)

在详细数据窗口的ÌtemChanged事件中对以下内容进行编码(当然代码必须根据您的具体情况进行调整):

decimal ld_qty, ld_unitprice

if Upper(dwo.name) <> 'ITEM' then
     return
end if
select qty, unit_price into :ld_qty, :ld_unitprice from your_table where your_table.key = data;

dw2.SetItem(row, 'your_dw_col_qty', ld_qty)
dw2.SetItem(row, 'your_dw_unit_price', ld_unitprice)

答案 1 :(得分:1)

如果您已将数据和价格与作为DDDW使用的datawindow对象的一部分检索的数据包括在内,则可以在不进行其他数据库调用的情况下访问它。这样的事情(在itemchanged事件中):

datawindowchild dwc
string ls_name
long ll_row

IF Upper(dwo.Name) = "ITEM" THEN
    GetChild("item", dwc)
    ls_name = data
    dwc.SetFilter("name = '" + ls_name +"'" )
    dwc.Filter( ) // filter to specific row in dddw
    ll_row = dwc.RowCount( ) // How many? Use the last one.
    if ll_row > 0 then
        SetItem(row, "cost", GetItemDecimal('cost', ll_row))
        SetItem(row, "amount", GetItemDecimal('amount', ll_row))
    end if
end if