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

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

DBComboBox1.Style:=csDropDownList [D6, XP]


Id ©   (2006-04-05 14:50:00) 

Здраствуйте, уважаемые мастера.
По данному значению (см. выше) несколько вопросов
1. Данное свойство, на сколько я понимаю, не дает пользователю ввести произвольное значение DBComboBox1.text, но  позволяет выбрать значение из списка.
У меня : DbComboBox1.Items[0]:='первый', DbComboBox1.Items[1]:='второй'
Почему во время выполнения программы делаю DBComboBox1.text:='первый' значение не присваивается?

2. Во время  работы программы нажимаю кнопку добавить(insert) , появляется новая запись. В DbCombobox1.text выбираю из списка значение, нажимаю "Сохранить" (Post), значение обнуляется и в базе не сохраняется (но это происходит не всегда, почему не знаю).


ЮЮ   (2006-04-07 03:09:00) [1]

Завяжи на кнопочку
 DBComboBox1.Field.asString :=  DBComboBox1.Items[0];
и не мучайся


Id   (2006-04-06 12:31:00) [2]


> Речь идет о том, чтобы показать не просто этот код, а весь
> проблемный.

Не вижу смысла.
Можно просто взять таблицу *.db, компонент DBComboBox1 привязать к любому полю типа Alpha,  DBComboBox1.Style:=csDropDownList
на кнопочку завязать

for i:=0 to DBComboBox1.Items.Count-1 do begin
if DBComboBox1.Items[i]='первый' then begin
 DBComboBox1.ItemIndex:=i;
 Break;
end;
end;

Выставить соответствующие значения в DBComboBox1.Items.
Запустить проект, - Insert>Нажатие кнопки>Post
Результат - значение не сохраняется.


Amoeba   (2006-04-06 12:11:00) [3]


> Id   (06.04.06 11:37) [15]
> for i:=0 to DBComboBox1.Items.Count-1 do begin
>  if DBComboBox1.Items[i]='первый' then begin
>   DBComboBox1.ItemIndex:=i;
>   Break;
>  end;
> end;
> Или я это один вижу?


Речь идет о том, чтобы показать не просто этоткод, а весь проблемный.


Id   (2006-04-06 11:37:00) [4]

for i:=0 to DBComboBox1.Items.Count-1 do begin
 if DBComboBox1.Items[i]='первый' then begin
  DBComboBox1.ItemIndex:=i;
  Break;
 end;
end;

Или я это один вижу?


Amoeba   (2006-04-06 11:30:00) [5]


> Id   (06.04.06 11:28) [13]
>
> > При стиле csDropDownList изменять следует ItemIndex, а
> компонет
> > сам сменит Text
>
> что я и делаю
> см. > Id   (06.04.06 11:04) [8]
> Этим проблема не решается

Код в студию!


Id   (2006-04-06 11:28:00) [6]


> При стиле csDropDownList изменять следует ItemIndex, а компонет
> сам сменит Text

что я и делаю
см. > Id   (06.04.06 11:04) [8]
Этим проблема не решается


ЮЮ   (2006-04-06 11:24:00) [7]

При стиле csDropDownList изменять следует ItemIndex, а компонет сам сменит Text


Id   (2006-04-06 11:15:00) [8]


> Плохиш ©   (06.04.06 11:09) [9]
> Присваивать надо полю источника данных.

Почему тогда нет пролем с этим?
DBEdit1.text:='первый' - это динамически присваиваю
После Post ничего не исчезает.
Все это в одном проэкте.


ЮЮ   (2006-04-06 11:14:00) [9]

Или попробовать изменять ItemIndex, а не Text.
Хотя логичнее [9]


Плохиш   (2006-04-06 11:09:00) [10]

Присваивать надо полю источника данных.


Id   (2006-04-06 11:04:00) [11]

С первым вопросом вроде разобрался.

for i:=0 to DBComboBox1.Items.Count-1 do begin
  if DBComboBox1.Items[i]='первый' then begin
   DBComboBox1.ItemIndex:=i;
   Break;
  end;
 end;

А вот по поводу второго вопроса немного поправлюсь.
Если выбирать из списка руками, то после Post сохраняет.
А если присваивать так (см. выше), то после Post значение обнуляется и в базу значение не заносится.
Кто-нибудь с таким сталкивался или просто работал с данным компонентом вообще?


Id   (2006-04-05 15:31:00) [12]


>  DBComboBox1


У меня глючный компонент?


Id   (2006-04-05 15:10:00) [13]


> Чему не присваивается ?

во время выполнения программы делаю DBComboBox1.text:='первый', в окне этого компонента не появляется надпись 'первый'


balepa   (2006-04-05 15:06:00) [14]


> Id   (05.04.06 14:50)  
> Почему во время выполнения программы делаю DBComboBox1.text:
> ='первый' значение не присваивается?


Чему не присваивается ?


Id   (2006-04-05 15:05:00) [15]


> И что ?

ничего, просто пояснил.
По делу, то есто что-нибудь?


balepa   (2006-04-05 15:01:00) [16]


> Id   (05.04.06 14:58) [2]
>
> > balepa ©   (05.04.06 14:56) [1]
> > А тебя DbComboBox1.Items[0]:='первый' не навело на мысль
>
> > делать вот так:
> > DBCombobox1.Items.Add('Первый');
>
> DBCombobox1.items - статическая величина.
>
> > DbComboBox1.Items[0]:='первый', DbComboBox1.Items[1]:='второй'
>
> это я так показал его значение


И что ?


Id   (2006-04-05 14:58:00) [17]


> balepa ©   (05.04.06 14:56) [1]
> А тебя DbComboBox1.Items[0]:='первый' не навело на мысль
> делать вот так:
> DBCombobox1.Items.Add('Первый');

DBCombobox1.items - статическая величина.

> DbComboBox1.Items[0]:='первый', DbComboBox1.Items[1]:='второй'

это я так показал его значение


balepa   (2006-04-05 14:56:00) [18]

А тебя DbComboBox1.Items[0]:='первый' не навело на мысль делать вот так:
DBCombobox1.Items.Add('Первый');


Наверх

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