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

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

Не могу Locate понять. [D5, D6]


KPY ©   (2002-11-19 06:08:00) 

Есть DBComboBox. Я его заполняю

with DM_Table.Tb_PicDat do
begin
DM_Table.Tb_PicDat.First;
while not DM_Table.Tb_PicDat.Eof do
begin
DBComboBox1.Items.Add(FieldByName("Name").AsString);
Next;
end;
end;

Затем по выбору из списка мне нужно найти выбранную записть в базе и считать ее номер(в базе есть такое поле)

procedure TFm_SetPicDat.DBComboBox1Change(Sender: TObject);
begin
with DM_Table.Tb_PicDat do
begin
Edit;
Locate("Name",DBComboBox1.Text,[loCaseInsensitive]);
label1.Caption:=IntToStr(FieldByName("Num").AsInteger);
еnd;

В принципе поиск работает :( но только в том случае когда выбираешь запись в комбобоксе которая расположена выше текущей.
Вот например если я выбрал 100ю запись , 99 на лабеле отображается а 101 нет. Ключевое поле Num


pivo_est   (2002-11-20 01:54:00) [1]

Прошу прощения не прочитал от Andriano;


pivo_est   (2002-11-20 01:50:00) [2]

>Есть DBComboBox. Я его заполняю:
>DBComboBox1.Items.Add(FieldByName("Name").AsString)

А почему нельзя использовать TDBLookupComboBox?
И заполнять ничего не надо.
Или я что-то недопонимаю?



Lord Warlock   (2002-11-19 09:47:00) [3]


> DBComboBox1.Text возвращает то, что надо!


ComboBox1.Text возвращает то же самое


Andriano   (2002-11-19 09:47:00) [4]

Берешь DBLookupComboBox: поле DataSource и field - ПУСТЫЕ, заполняешь только listsource, lookupfield, keyfield.
Открываешь DataSet в программе и всё.
Когда выбирается новая запись, обрабатываешь событие типа OnKeyValueChange. Там проверяешь: LocateKey должно быть true. И смотришь чему равно keyvalue.

DBComboBox не будет работать как одна колонка DBGrida, а вот DBLookupComboBox по своей природе может.


Alexandr   (2002-11-19 09:45:00) [5]

так а чего бы тебе хотелось-то?


KPY   (2002-11-19 09:23:00) [6]

Поставил я простой комбобокс все стало ОК но это не совсем то чего мне хотелось
А DBComboBox1.Text возвращает то, что надо!


stone   (2002-11-19 09:13:00) [7]

вообще то, TDBComboBox служит для заполнения значения поля, для ваших целей в таком контекстк целесообразнее было бы использование TComboBox.
Хотя с помощью TDBLookupComboBox можно реализовать данную функциональность без дополнительного кода.


iNew   (2002-11-19 07:41:00) [8]

А DBComboBox1.Text возвращает то, что надо?


Alexandr   (2002-11-19 07:31:00) [9]

а зачем Dbcombobox?
тут по-моему обычный комбобокс самое то будет.
Да и вообще, странно как-то все...


KPY   (2002-11-19 07:25:00) [10]

что с едит что без него одинаково


Alexandr   (2002-11-19 06:58:00) [11]

странно, зачем слово edit.


Наверх

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