Я связал приложение livecode с реляционной базой данных. Я хочу использовать combobox для отображения значений, связанных с идентификатором. Я и другие программы, такие как msaccess, выполняются с помощью combobox с двумя столбцами. Первый связан с идентификатором и устанавливается в 0 ширины, а второй отображает соответствующее значение. Это возможно в livecode?Содержит ли Livobode combobox несколько столбцов
У меня есть текстовое поле и поле списка, и мне удалось заставить его работать, используя следующий код на rawkeyup
global strHilitedLine,strTempHilitedLine,booAfterReturn,booFirstKeyUp
on keyup -- when your press a character key
TempHilited
end keyup
on returninfield --when user press return key on keyboard
--accept the temporary hilite
put the hilitedLine of field "lstfood" into strHilitedLine
put empty into strTempHilitedLine
--set booFirstKeyUp to true so that the keyup command will know that
-- the next keyup is the first after clicking the enter/return key
put "True" into booFirstKeyUp
--clear field txtfood
put empty into fld "txtFood"
end returninfield
on enterkey --when user press enter key on mobile(code same as on returninfield)
set the hilitedLine of field "lstfood" to strTempHilitedLine
put the hilitedLine of field "lstfood" into strHilitedLine
put empty into strTempHilitedLine
put "True" into booFirstKeyUp
put empty into fld "txtFood"
end enterkey
on TempHilited
if booFirstKeyUp="True" then
--store the value of hilitedline if this is the first keyup after
-- clicking enter(see on enterkey)
put the hilitedLine of field "lstfood" into strHilitedLine
put "False" into booFirstKeyUp
end if
--set hilitedlines to the hilitedlines just after clicking enter
set the hilitedLine of field "lstfood" to strHilitedLine
-- cleartemporary hilitedlines from previous keyup
put empty into strTempHilitedLine
-- create array from field lstFood and find if the text in txtFood
-- appears at the start of any item in the array
put field "lstfood" into arrFood
filter lines of arrFood with regex pattern "^" & me into strLineText
--create new value to temporarily hilite
if the length of strHilitedLine>0 and the length of strLineText>0 then
put strHilitedLine & "," & lineoffset (strLineText ,field
"lstfood") after strTempHilitedLine
else if the length of strHilitedLine>0 then
put strHilitedLine into strTempHilitedLine
else if the length of strLineText>0 then
put lineoffset (strLineText ,field "lstfood") into strTempHilitedLine
end if
--set temporay hilite
set the hilitedLine of field "lstfood" to strTempHilitedLine
put the length of me into mylength
--Select the part of txtFood that user did to type so that it is overwritten on the next keyup
put strlinetext into field "txtFood"
select char mylength +1 to the length of me of field "txtFood"
End TempHilited
Как вы можете видеть, что это длинный извилистый код. Рад слышать, если у вас есть более - эффективный способ достижения этого.
Вы упомянули «Храните данные в настраиваемом свойстве, фильтруйте, чтобы включить соответствующие строки, поместите оставшиеся данные в поле», и я считаю, что вы ссылались на другой метод его выполнения, но я не очень-то разбираюсь в том, как сделайте это
Привет, Марк, я немного потерял. Я вижу поле списка и текстовое поле на картинке. Кажется, что поле списка становится популярным при вводе текстового поля. Как вы это делаете. Также сколько пожертвований требуется для доступа к вашей библиотеке. – Sheils
@ Шейла. Я предпочел бы быть умеренным с саморекламой, так что, возможно, вы можете связаться со мной по другому каналу и спросить меня снова? Поле списка находится в другом стеке, который открывается как палитра. Поле содержит скрипт, который просто фильтрует и отображает список. Хилит выполняется с помощью мыши или клавиш со стрелками. – Mark
Привет, Марк, я медленно работаю, если нет. У меня есть текстовое поле и поле списка, и, используя следующий код, я могу найти строку в поле списка, содержащую строку в текстовом поле. Я могу позже использовать значение lineoffset для hilite строки соответствия. 'на rawkeyup ответа lineoffset (я, поле«lstfood») конца rawkeyup' Но это собирание любой строки в поле списка, который содержит строку из текстового поля. Я хочу только выбрать те из списка, которые начинаются со строки в текстовом поле. Я свяжусь с вами позже на вашем сайте. Кстати, меня зовут Sheils (Male). Cheers – Sheils