Форум: "Базы";
Текущий архив: 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.007 c