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)+")")
分享到:
相关推荐
### PB如何获取下拉数据窗显示列的值 在PowerBuilder(简称PB)开发中,经常需要处理数据窗的各种操作,比如获取用户选择的数据窗显示列的值等。本篇文章将详细阐述如何在PB中通过特定的方法来实现这一功能。 ####...
通过读取数据表生成一个可供多选的下拉列表控件,要求数据表中至少要有“编码”和“名称”两个字段,字段名任意。并且“编码”字段是主键,字符型或数字值都可以。 使用示例: uo_1.i_sqlselect='from demotab'//这...
描述中提到的“用PB动态生成下拉菜单比较麻烦”,这是因为相比静态创建,动态生成需要更多的代码和逻辑处理,包括读取数据、创建菜单项、关联事件等。 以下是一些关于如何在PowerBuilder中动态生成下拉菜单的关键...
在PowerBuilder(简称PB)开发环境中,下拉数据窗口(Dropdown DataWindow,简称DDDW)是一种常见的用户界面组件,用于提供用户友好的选择输入方式。动态检索是DDDW的一个重要特性,它允许根据用户的选择或者特定...
DataWindow是PB的核心组件之一,它用于处理数据库查询、显示和编辑数据。在DataWindow中实现自动筛选功能,可以极大地提高数据管理和分析的效率。 要实现“类似EXCEL的自动筛选功能的DW”,我们需要遵循以下步骤: ...
它在零售、物流、库存管理等领域有着广泛的应用,能够快速准确地读取商品信息,提高效率。PB打印条形码源码程序则帮助开发者在PowerBuilder应用中集成这一功能,使用户可以方便地创建和打印各种类型的条形码,如EAN-...
- **用户界面交互**:可能涉及到按钮点击事件、下拉框选择、表格数据显示等,展示了如何处理用户输入和反馈。 - **数据窗口应用**:通过复杂的数据窗口示例,展示如何进行多表联接、条件过滤、排序和计算字段的...