Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DBComboBox [D5, Win95/98]


Miss ©   (2002-10-25 09:03:00) 

Добрый день! Уважаемые мастера, пожалуйста киньте кто-нибудь фрагментик : добавление строк в DBComboBox.Items DBComboBox.Text если такой не имеется в Items


Miss   (2002-10-26 09:37:00) [1]

Нельзя!!!!


Miss   (2002-10-26 08:38:00) [2]

Да, но можно ли DBLookupComboBox добавлять значения?


Николай Васильев   (2002-10-25 16:22:00) [3]

Тогда для этих наименований нужно создать справочную таблицу и из нее с помощью компонента DBLookupCombobox выбирать значения.


Miss   (2002-10-25 11:29:00) [4]

> Johnmen © (25.10.02 10:45)
Не понятно ваше предположение...
Мне просто необходимо чтобы у пользователя была возможность выбора строки Items"a, и не требовалось вводить ее каждый раз, если уже такое наименование встречалось. Можно было бы конечно наполнять Items из другого набора данных, где бы хранились все возможные наименования, но не вижу необходимости ее создания.


Miss   (2002-10-25 10:53:00) [5]

>Lord Warlock © (25.10.02 09:45)



>Справишься или пример написать?

Справлюсь


Johnmen   (2002-10-25 10:45:00) [6]

>Miss ©

Судя по вопросу, ты не совсем правильно понимаешь предназначение контрола DBComboBox. Почитай справочную инфу...


Anatoly P   (2002-10-25 10:04:00) [7]

procedure AddList(List: TStrings; Text : String);
Var i : integer;
begin
If List.Count>0 then
begin
try
i := List.IndexOf(Text);
If Text <> List[i] then
List.Add(Text);
except
List.Add(Text);
end;
end else List.Add(Text);
end;


использование:
AddList(ComboBox1.Items, "drrrrdddddddd");


Lord Warlock   (2002-10-25 09:58:00) [8]


> А не лучше ли в OnExit DBComboBox"а


Не лучше, тк туда будут попадать только данные, занесенные в таблицу


Miss   (2002-10-25 09:56:00) [9]

>Lord Warlock © (25.10.02 09:32)
А не лучше ли в OnExit DBComboBox"а


Lord Warlock   (2002-10-25 09:56:00) [10]


> перед новой строкой еще пустая добавляется


if (DBCombobox1.Items.IndexOf(DBCombobox1.Text)=-1) and (not DBCombobox1.Text="")


Lord Warlock   (2002-10-25 09:45:00) [11]


> при новом запуске окна изменения в Items не сохраняются,
> а хотелось бы.


При выходе из формы сохраняй Items в переменной типа TStringList.
Эту переменную объяви в главной форме.

При загрузке формы (OnShow) заполняй Items комбобокса из этой переменной.

Справишься или пример написать?


Miss   (2002-10-25 09:40:00) [12]

> Lord Warlock © (25.10.02 09:21)
Да это работает, но перед новой строкой еще пустая добавляется? и при новом запуске окна изменения в Items не сохраняются, а хотелось бы.


Lord Warlock   (2002-10-25 09:32:00) [13]

А написать это лучше в AfterPost таблицы


Miss   (2002-10-25 09:28:00) [14]

Это к iNew


Miss   (2002-10-25 09:23:00) [15]

Не из набора данных, а введенный только что текст.


Lord Warlock   (2002-10-25 09:21:00) [16]


> iNew (25.10.02 09:16)


что-то не то...

if DBCombobox1.Items.IndexOf(DBCombobox1.Text)=-1 then
DBCombobox1.Items.Add(DBCombobox1.Text)


iNew   (2002-10-25 09:16:00) [17]

Table1.First
While not Table1.EOF do
begin
DBComboBox.Items.add(Table1.FieldByName("1234"));
Table1.Next;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо