Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Множественный выбор   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
2-1207662818
switch
2008-04-08 17:53
2008.05.11
Как изменить цвет QRShape


15-1206965596
БарЛог
2008-03-31 16:13
2008.05.11
Имеет ли взрослый ребенок моральное право влезать в спор...


2-1208023431
xex32
2008-04-12 22:03
2008.05.11
Как отключить кнопку Alt


15-1206515574
usr
2008-03-26 10:12
2008.05.11
MS SQL Server 2000


2-1208165182
pathfinder
2008-04-14 13:26
2008.05.11
Уничтожение объекта.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский