Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.009 c
2-1208010960
assassin8899
2008-04-12 18:36
2008.05.11
Как осуществить поиск записи в DBGrid


15-1207018123
Slider007
2008-04-01 06:48
2008.05.11
С днем рождения ! 1 апреля 2008 вторник


4-1188108766
Bora.ru
2007-08-26 10:12
2008.05.11
Убрать значок процесса из TaskBar


15-1206172958
@!!ex
2008-03-22 11:02
2008.05.11
Двойная буфферизация(выдернуто из "Вакансия Delphi программист")


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




   Наверх