Главная страница
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.017 c
2-1208152850
lewka-serdceed
2008-04-14 10:00
2008.05.11
ComboBox в ячейке StringGrid


11-1188700319
KOLBoss
2007-09-02 06:31
2008.05.11
Чтение из файла по байтно


15-1206722016
Ega23
2008-03-28 19:33
2008.05.11
командная строка


2-1207913235
Rhammer
2008-04-11 15:27
2008.05.11
Проблемы при переборе символов в строке


2-1208200976
Boris
2008-04-14 23:22
2008.05.11
Бинарный файл