Текущий архив: 2008.05.11;
Скачать: CL | DM;
Вниз
Множественный выбор Найти похожие ветки
← →
assassin8899 (2008-04-13 22:28) [0]Нужно сделать множественный выбор в зависимости от значения Combobox.text .Case сделать нельзя.Есть ли какой нибудь альтернативный вариант.
← →
DrPass © (2008-04-13 22:31) [1]if then else
Повторять до готовности
← →
Palladin © (2008-04-13 22:33) [2]
>assassin8899(13.04.08 22:28) [0]
а что ты хочешь множественно выбрать?
← →
assassin8899 (2008-04-13 22:44) [3]в зависимости от значения в Combobox.text происходит запрос
← →
Palladin © (2008-04-13 22:50) [4]
>assassin8899(13.04.08 22:44) [3]
ну вот в text, например, значение "assassin8899", что тогда должно случиться?
← →
sniknik © (2008-04-13 23:03) [5]> что тогда должно случиться?
убийство 8899-го? ;)
← →
assassin8899 (2008-04-13 23:19) [6]тогда должен произвестись поик в ADOTable и вывести строку с данным значением в DBGrid
← →
Palladin © (2008-04-13 23:25) [7]фух... трудно с тобой...
>тогда должен произвестись поик
по какому критерию поиск?? что именно зависит от текста??
← →
AIK © (2008-04-13 23:34) [8]
> выбор в зависимости от значения Combobox.text
Может тебе всеголиш onChange нужен?
← →
Семеныч (2008-04-14 00:31) [9]> множественный выбор в зависимости от значения Combobox.text.
> Case сделать нельзя.
Если очень хочется, то можно:
case Combobox.ItemIndex of
...
← →
assassin8899 (2008-04-14 00:31) [10]Имеется таблица ADOTable со значениями которая отображается в DataGrid
Есть combobox в котором к примеру поля Фамилия Имя Отчечтво
Есть Edit в который мы вводим искомое значение в зависимости от выбранного значение в combobox(к примеру если мы хотим найти строку с определенной фамилией, то в combobox выбираем поле Фамилия и в edit вводим искомую фамилию)
К примеру у меня это на событии EditChange
if combobox.text="Фамилия" then
begin
ADOQuery.sql.text:="select...
ADOQuery.active:=true;
end
else
if combobox.text="Имя"
begin
........
У меня таких значений в Combobox много и я хочу вместо if...else найти более компактный вариант
← →
Loginov Dmitry © (2008-04-14 07:52) [11]> и я хочу вместо if...else найти более компактный вариант
тогда [9]
← →
Palladin © (2008-04-14 09:33) [12]
>
assassin8899(14.04.08 00:31) [10]
ну наконец то нормально объяснил. все очень просто, как вариант. создаем FldMap:TStringList, заполняем его строками вид
"Фамилия=second_name"
"Имя=first_name"
и т.д., т.е. соответствиями между подписями полей и названиями полей.
и потом, на EditChange
ADOQuery.sql.text:="select * from mytable where "+FldMap.Values[ComboBox.Text]+"=:PValue";
ADOQuery.Parameters.ParamByName("PValue").Value:=Edit.Text;
ADOQuery.active:=true;
есть и другие чуть более оптимальные варианты, но работающие абсолютно по тому же принципу
Страницы: 1 вся ветка
Текущий архив: 2008.05.11;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.008 c