close
PowerBuilder (36) - 如何過濾下拉數據窗口?
如果下拉裏面會數據太多,會讓用戶浪費時間會尋找數據上,為方便用戶尋找並減少操作時間,這時候就需要在下拉的數據中做一下過濾。
以下圖為例,如果我希望選班級後,學生的下拉中就只有該班級的學生名單,那該如何做呢?
過濾前 | 過濾後 |
![]() |
![]() |
只要在 dw_1 的 itemchanged event 內寫以下代碼就可以了:
string ls_class, ls_filter
datawindowchild ldc_std
// Get DataWindowChild
if dw_1.getchild('sid', ldc_std) = -1 then
messagebox('Error', 'Student is not a datawindowchild!')
return
end if
// 如果 itemchanged 的是 class 才做
if upper(dwo.name) = 'CLASS' then
ls_class = data // 取得最新的值
ls_filter = "class='" + ls_class + "'" // 併湊過濾字符
// 設置過濾
ldc_std.setfilter(ls_filter)
// 執行過濾
ldc_std.filter()
end if
想還原,顯示所有的話,Setfilter('') 就可以了。
文章標籤
全站熱搜