精華區beta mud_sanc 關於我們 聯絡資訊
【 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 --==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--==-==--