`
Ben.Sin
  • 浏览: 229553 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[PB]读取下拉框的显示值

    博客分类:
  • PB
阅读更多

DW(数据窗口)作为下拉方式存在,可以设置datavalue和displayvalue。

datavalue是column的实际数值,而我们看到的是displayvalue,当然可以设置两个都相同

 

如果要取得datavalue很简单,dw_control.getItemXXX(row, column_name)

(XXX为column的类型,比如String, Number等等)

 

如果要取得显示值得时候就相对麻烦些(datavalue跟displayvalue不一样)

方法有两种,一种是getChild方法取得下拉句柄,并顺藤摸瓜取得。这个方法略显麻烦,但结果是肯定的

DataWindowChild ldw_child
String ls_dataCol, ls_displayCol
String ls_dataValue, ls_displayValue
long ll_row

if dw_control.getChild(col_name, ref ldw_child) = 1 then
    // 取得当前行的datavalue
    ls_dataValue = dw_control.getItemString(dw_control.getRow(), col_name)
    
    // 取得下拉dw对应的datacolumn和displaycolumn
    ls_dataCol = dw_control.describe(col_name + ".dddw.datacolumn")
    ls_displayCol = dw_control.describe(col_name + ".dddw.displayColumn")

    // 查找对应资料的位置
    ll_row = ldw_child.find(ls_dataCol + " = '" + ls_dataValue + "'", 1, ldw_child.rowCount())

    // 取得显示值
    if ll_row > 0 then
        ls_displayValue = ldw_child.getItemString(ll_row, ls_displayCol)
    end if

end if
 

 

 

另外一种利用dw内部函数取得,这个就显得相当简洁

long ll_row

ll_row = dw_control.getRow()
dw_control.Describe("Evaluate('lookupdisplay(col_name)',"+String(ll_row)+")")
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics