Вниз
Скачать: CL | DM;

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 вся ветка

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



Память: 0.47 MB
Время: 0.009 c
6-35397
ОлегМ
2002-04-10 13:18
2002.08.12
WebSnap


1-35246
Schummi
2002-07-20 10:53
2002.08.12
wm_mousemove


14-35421
FLIZ
2002-07-12 17:15
2002.08.12
Кто в каком возрасте из вас женился(если таковое было?) :-))


1-35297
Ира
2002-07-29 10:36
2002.08.12
Сообщение по Outlook...


14-35408
Stanislav SM
2002-07-15 18:32
2002.08.12
Help WinApi




   Наверх