Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.021 c
15-1206990222
Дмитрий С
2008-03-31 23:03
2008.05.11
Посоветуйте книги.


15-1206806482
Denis__
2008-03-29 19:01
2008.05.11
KERNEL32.DLL


4-1188809871
Prohodil Mimo
2007-09-03 12:57
2008.05.11
Проблема с немодальными окнами.


2-1207975087
NewSer
2008-04-12 08:38
2008.05.11
Как отменить Close?


2-1208144663
Balkonnn
2008-04-14 07:44
2008.05.11
Запись в качестве свойства класса