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

Вниз

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

 
Ag2002   (2002-07-19 10:21) [0]

Подскажите пожалуйста, вот есть компонент DbComboBox, в него при старте формы из файла грузятся зачения, и поль-ель, должен выбирать из списка этих значений, но если ни одно значение не подходит, то он в этом же поле вводит свой вариант, ВОПРОС: как этот введенный вариант сохранить, в этот же файл чтобы при загрузке это ввденное значение сохранялось ?


 
Verokko   (2002-07-19 11:56) [1]

По идее надо отследить событие OnKeyPress, там запомнить текущее состояние Cb:=DBComboBox1.Text.
Затем OnExit:
procedure TVvod.DBComboBox1Exit(Sender: TObject);
begin
If Cb<>DBComboBox1.Text then begin
Cb_new:= DBComboBox1.Text;
DBComboBox1.Items.Append(Cb_new);
// и append + post в базу
end;
end;

Вроде так.


 
MsGuns   (2002-07-19 12:22) [2]

> Verokko
Надо пополнить не список, а саму таблу (справочник)
Здесь надо добавлять запись в саму таблицу ?


 
Lola   (2002-07-19 12:44) [3]


> MsGuns ©
А я вижу в предложенном коде

> // и append + post в базу
И разве список тоже не должен быть обновлен? Или для этого надо перегрузить форму?


 
MsGuns   (2002-07-19 13:04) [4]

Это вообще весьма сомнительный способ пополнения справочника.
Я обычно поступаю тупее: никаких комбобоксов на залукапенное поле, а вместо него модальную форму с гридом с таблицей справочника - пополняй, выбирай, изменяй (но не ключи - это отдельная песня !)
А все эти стандартные изгаляции с BDE-шными лукапами - отстой, т.к.:
- во-первых, не дают просмотреть ВСЕ колонки справочника
- во-вторых, ни фильтров, ни норм.поиска (юзер запарится просматривать прайс из 5000 позиций по кодам товара или даже по наименованиям, если он точно НЕ ПОМНИТ, как ОНО обзывается)
- в-третьих, никакой возможности пополнения !


 
Ag2002   (2002-07-19 14:18) [5]

Люди вы меня не так поняли, мне нужно было из текстового файла записли читать и тудаже записывать, но я уже свой собственный код написал, вот работает отлично, надо его поставить, на событие выхода из компонента (кто улудшит буду благодарен):
var
i,k:integer;
begin
k:=0;
if DBComboBoxEh2.Text <> "" then
begin
for i:=0 to DBComboBoxEh2.Items.Count-1 do
if DBComboBoxEh2.Items.Strings[i] <>
DBComboBoxEh2.Text then inc(k);
if k = DBComboBoxEh2.Items.Count then
begin
DBComboBoxEh2.Items.Add(DBComboBoxEh2.Text);
DBComboBoxEh2.Items.SaveToFile("dogovora.dat");
end;
end;
end;


 
MsGuns   (2002-07-19 14:40) [6]

Так справочник просто в текстовом файле ? Тогда понятно..
Оригинально, однако..))


 
Ag2002   (2002-07-19 18:17) [7]

А чё нафиг целую таблицу для мак 10 записей, в крайнем случае если что можно и файл шифрануть !!!!


 
kaif   (2002-07-20 01:07) [8]

Только одно но.
Добавлять в справочник так можно. А как же удалять или редактировать? Все равно придется для этой цели окно вызывать. Поэтому я считаю, что идеальное решение - применить компонент, у которого 2 кнопки имеются: одна для выпадающего списка, другая - с многоточием - для вызова окна справочника (добавление, удаление, редактирование). Такие компоненты имеются в RxLib и в других пакетах. В конце концов, можно радом с комбо-боксом кнопку поставить для такой цели. Извращаться не надо. Никто это не оценит. И еще совет: не использовать DBComboBox, а использовать DBLookUpComboBox. И справочник в отдельной таблице хранить. И ссылку на него цифровую иметь...



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

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

Наверх





Память: 0.46 MB
Время: 0.006 c
1-35237
Gonzalez
2002-07-20 09:06
2002.08.12
Типизированный файл внутри *.exe


14-35458
Michkarus
2002-07-18 22:04
2002.08.12
А че такое САБЖ?


3-35227
Daiz13
2002-07-22 11:10
2002.08.12
null+integer


1-35248
smit_
2002-07-30 15:36
2002.08.12
TListBox


3-35174
Kombat
2002-07-21 12:03
2002.08.12
Прогрес выполнения процедуры





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