【 utils.filterpicker 】
格式:
utils.filterpicker (tbl, title, initial_filter,
no_sort, filter_function,
filter_prepare_function)
中文:
utils.filterpicker (項目表, 標題, 篩選器預設串,
自動排列參數, filter_function,
filter_prepare_function)
說明:
顯示一個索引值篩選對話框。
1.tbl :table表類型。
2.title :對話框的標題。如果為空,預設名稱為“
filter”(最多100個字元)
3.initial_filter :篩選器預設的篩選關鍵字。預設值為空白。
4.NO_SORT :如果為true,則列表不按字母順序排序
5.filter_function:指定這個函數參數可以取得篩選器內容(wanted)
。用途不明。這部份使用上也不太穩定。
6.filter_prepare_function:每呼叫一次函數,內容將被輸入到過濾箱
。用途不明。這部份使用上也不太穩定。
回傳的內容是表的索引值,要得到內容,必須要用索引值去取得表中對應
的內容。
fulter_funcion 的傳遞的參數有三,wanted、key、value,如下例:
function filter_function (wanted, key, value)
local length = tonumber (wanted)
if not length then
return false
end -- if not number
return #value == length
end -- filter
fulter_funcion 的傳遞的參數只有wanted,如下例:
function filter_prepare_function (wanted)
wanted_rooms = {}
for row in db:nrows ("SELECT uid FROM rooms WHERE name MATCH '" ..
wanted .. "'") do
wanted_rooms [row.uid] = true
end
end -- filter_prepare_function
範例:
t = { "apples", "bananas", "peaches", "cream" }
result = utils.filterpicker (t, "Foods ...")
if result then
print ("You chose", t [result])
else
print "Nothing chosen"
end -- if
--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--