Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Вниз

Работа с компонентом DBCombobox   Найти похожие ветки 

 
ViKS   (2003-09-23 12:17) [0]

Господа! При работе с компонентом DBCombobox не показываются в выпадающем списке все значения. Только если нажать Next в DBNavigator можно посмотреть следующее. Как это изменить, кроме как в программе заполнить его в цикле?


 
DenK_vrtz   (2003-09-23 12:23) [1]

Список(Items) можно заполнить заранее (в разработке), что бывает крайне редко
или заполнить во время выполнения программы, на основе каких-либо данных.
Третьего не дано!

Данные из вне в списке появится не могут!


 
mfender   (2003-09-23 12:30) [2]


> Как это изменить, кроме как в программе заполнить его в
> цикле?


Никак. Только в цикле:

Table1.First;
while not Table1.Eof do
begin
ComboBox1.Items.Add(tabOpsNF.AsString);
Table1.Next;
end;


 
kaif   (2003-09-23 12:33) [3]

На самом деле это глупая вещь. В прежних версиях Дельфи (D3) список нормально заполнялся. В компонентах TRxDBLookupComboBox тоже нормально заполняется. К сожалению, теперь в Дельфи приходится делать несколько Fetch прежде, чем список заполнится. Хотя может у разработчиков были на то свои причины (без нужды не считывать набор)...


 
VAleksey   (2003-09-23 12:38) [4]


> kaif © (23.09.03 12:33)

Что то я не понял высказывания.
В TDBComboBox, если мне память не изменяет, список сам никогда не заполнялся.


 
ViKS   (2003-09-23 12:49) [5]

Нет, я заполняю его поле datasource:=datacource1, datasource1 содержит данные из таблицы.
А потом все данные, например, название города, не показываются все в списке. Я бы хотела видеть их все в выпадающем списке, чтобы можно было выбирать и например по выбранному значению фильтровать данные из другой таблицы


 
mfender   (2003-09-23 12:53) [6]


> Нет, я заполняю его поле datasource:=datacource1, datasource1
> содержит данные из таблицы.
> А потом все данные, например, название города, не показываются
> все в списке. Я бы хотела видеть их все в выпадающем списке,
> чтобы можно было выбирать и например по выбранному значению
> фильтровать данные из другой таблицы


Так в чем проблема-то?


 
DenK_vrtz   (2003-09-23 13:13) [7]

Может разговор надо вести не DBCombobox, а lookup-поля или компонент DBLookupComboBox?

Хде наши телепаты? :-)


 
ViKS   (2003-09-23 14:35) [8]

С DBLookupComboBox я не понимаю как работать? Что указывать в datasource, а что в Listsource?


 
Mike Kouzmine   (2003-09-23 14:38) [9]

Дата куда лист откуда


 
mfender   (2003-09-23 14:42) [10]


> ViKS (23.09.03 14:35) [8]
> С DBLookupComboBox я не понимаю как работать? Что указывать
> в datasource, а что в Listsource?


Ничего в ListSource указывать не надо. Сделай lookup поле и в Field своего DBLookupCombo указывай его.


 
DenK_vrtz   (2003-09-23 14:48) [11]

ViKS, попробуй и получится, а если не получится, попробуешь опять!


 
ViKS   (2003-09-23 14:53) [12]

Попробовала опять!! В списке теперь все данные из таблицы города отображаются, а как фильтровать по выбранному из этого списка значению данные из другой таблицы,


 
DenK_vrtz   (2003-09-23 15:01) [13]

а в чем, собственно, проблема?


 
ViKS   (2003-09-23 15:10) [14]

Нажимаю на списке, список выпадает, а сохраняется только то первое значение, другие недоступны, только если next в DBNavigator нажму, только тогда что-то меняется, а вторая таблица не реагирует на выбор в списке!!


 
kaif   (2003-09-23 15:21) [15]

Давайте по порядку.
1. Какой компонент юзается? (я сразу не понял)
DbComboBox или DBLookupComboBox?
2. Что значит "сохраняется только первое значение"?


 
DenK_vrtz   (2003-09-23 15:24) [16]

1.если список выпадает, то как могут быть недоступны элементы списка?
2.После выбора элемента списка обновленные данные нужно сохранить
. Типа, сделать post.
3.А как вторая таблица будет реагировать на выбор из списка? Думаешь она сама ффсе знает или догадывается? Обработчик писать надо!

А вообще не очень понятен смысл задачи!


 
ViKS   (2003-09-23 15:41) [17]

Мне нужно сделать так:
есть один список -например DBLookUpcombo, в нем есть названия городов (из одной таблицы), а еще есть на этой же форме DBGrid, в которой отображаются другие данные. Как мне сделать так, чтобы при выборе значений из списка, фильтровались значения в этом DBgrid?


 
kaif   (2003-09-23 15:49) [18]

Если таблица на FoxPro, то лучше сделать так:
В событие OnChange или CloseUp комбобокса вписать что-то вроде:

begin
Table1.Filtered := False;
Table1.Filtered := True;
end;

или еще лучше

begin
Table1.Refresh;
end;

А в обработчик компонента Table1 OnFilterRecord вписать что-то вроде:

Accept := DataSet.FieldByName("такое-то").AsInteger :=
DBLookupcomboBox1.KeyValue;


 
kaif   (2003-09-23 15:51) [19]

В догонку:
В гриде должна отображаться Table1, а вот DBLookupComboBox должен брать ListSource из другого компонента (Table2).


 
Vlad   (2003-09-23 15:55) [20]

А еще лучше TTable выкинуть в помойку и пользоваться TQuery. Тогда проблемы с фильтрацией отпадут сами собой.


 
kaif   (2003-09-23 16:01) [21]

Vlad © (23.09.03 15:55) [20]
А еще лучше TTable выкинуть в помойку и пользоваться TQuery. Тогда проблемы с фильтрацией отпадут сами собой.

Для таблиц FoxPro фильтр может работать намного быстрее, чем TQuery. Особенно, если в таблице сотни тысяч записей. Ты был бы безусловно прав, если бы речь шла о сервере баз данных (IB или MSSQL). А для FoxPro SQL-запрос будет эмулироваться BDE и в конце концов произойдет то же самое (сканирование набора). Хотя если есть индекс по этому полю, то возможно, SQL запрос и не будет тормозить и тогда ты прав.


 
ViKS   (2003-09-23 16:05) [22]

Тогда подскажите как это же состряпать с помощью Query, но чтоб еще и со списком выбора. А таблицы у меня dbase!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.009 c
1-40413
ilka
2003-09-30 19:06
2003.10.13
Как узнать есть ли сервис и его текущее состояние(stop|start)?


7-40713
Khloo!
2003-07-31 15:34
2003.10.13
TreeView


3-40311
Максим
2003-09-22 11:50
2003.10.13
DBLookupComboboxEh


14-40573
афвуд
2003-09-23 13:42
2003.10.13
Может кто-нибудь с этим встречался.


3-40237
Abrams
2003-09-22 14:40
2003.10.13
Трехзвенная архитектура





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский