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

Вниз

DBComboBox?   Найти похожие ветки 

 
ГАГН   (2004-03-11 08:59) [0]

В DBComboBox есть такое свойство как Items. У меня в него добавлено несколько итемов. А как сделать автоматическое добавление нового итема.
Т. е., запускаю программу, пишу новое значение и это значение, конечно если оно новое, добавляется в свойство Items.

Пожалуйста помогите!


 
Лысый   (2004-03-11 09:05) [1]

Сделай обработчик DBComboBox KeyPress или KeyDown и
загони в него
if key=#13 then
DBComboBox.Items.Add(DBComboBox.Text);
После набора значения по нажатию Enter будет добавляться
твое значение.


 
Наталия ©   (2004-03-11 09:06) [2]

А в чём проблема? В проверке существующего значения или в добавлении?


 
ГАГН   (2004-03-11 09:16) [3]

И в том и другом! Не понимаю я этот компонент!


 
ГАГН   (2004-03-11 09:18) [4]

Лысый, а если тоже самое сделать для onChange, то это получится?


 
Лысый   (2004-03-11 09:24) [5]

Должно, попробуй.


 
ГАГН   (2004-03-11 09:34) [6]

А что такое key=#13?


 
ЫЗШКШЕ   (2004-03-11 09:39) [7]

Ентер


 
SAMOVAR   (2004-03-11 10:17) [8]

А как сделать проверку на то, что новая это запись или старая?


 
Vlad ©   (2004-03-11 10:22) [9]

IndexOfName(строка)


 
Соловьев ©   (2004-03-11 10:23) [10]

надо юзать MRUList - там это уже реализовано


 
Fuelfire   (2004-03-11 10:34) [11]

Если я правильно понял вопрос - попробуй вот так:

procedure TForm1.Button1Click(Sender: TObject);
var i,fl: integer;
begin
for i:=0 to (DbComboBox.Items.Count-1) do begin
 if (AnsiUpperCase(DbComboBox.Items[i]) = AnsiUpperCase([Поле, куда вводишь значение].Text))= True then
   begin  
     fl:=1;
     Break;
   end;
end;
if fl<>1 then DbComboBox.Items.Add([Поле, куда вводишь значение].Text)
else
ShowMessage("Такое значение уже есть!") ;
end;
Только код не проверял.. Строки, конечно, можно и по другому сравнивать...


 
Vlad ©   (2004-03-11 10:46) [12]


> Fuelfire   (11.03.04 10:34) [11]

Думаю так все таки проще будет :-)
if DbComboBox.Items.IndexOf(...)>-1 then
 ShowMessage("Такое значение уже есть!")
else
 DbComboBox.Items.Add(...)

P.S. в [9] я ошибся, не IndexOfName, а IndexOf, конечно


 
Fuelfire   (2004-03-11 11:20) [13]

> Vlad ©
Да, бесспорно этот вариант решения лучше..
Не проснулся еще, когда постил :-))


 
ГАГН   (2004-03-11 12:50) [14]

Все получилось, но при выходе из программы, а потом при повторном ее запуске значения которые были введены стираются.
Как можно их сохранить?


 
DenK_vrtz ©   (2004-03-11 12:55) [15]

>ГАГН   (11.03.04 12:50) [14]
>Как можно их сохранить?

куда-нить записать


 
Fuelfire   (2004-03-11 13:07) [16]

> ГАГН
> значения которые были введены стираются
Для чего ты используешь DBComboBox?
Значения нужно заносить в определенное поле определенной таблицы, а потом при загрузке приложения считывать данные в DBComboBox.. Если же нужно показывать в выпадающем списке значение поля конкретной записи - используй DBLookupComboBox.. И тогда ничего не сотрётся :-)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.045 c
1-1080274585
scorpi
2004-03-26 07:16
2004.04.11
Просмотр отчета QuickRep


7-1079816431
DEMON_XXX
2004-03-21 00:00
2004.04.11
Как отследить дискету в A:


3-1079100032
Anarki
2004-03-12 17:00
2004.04.11
Длина запроса больше 255 символов


3-1081920807
Pako
2004-04-14 09:33
2004.04.11
индексы


3-1081941938
SergeyB
2004-04-14 15:25
2004.04.11
Не генерируется событие TDatabase.OnAfterDisconnect





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский