Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2014, 08:58   #1
nagi12-02
Пользователь
 
Регистрация: 15.01.2014
Сообщений: 21
По умолчанию Фильтр по двум полям через TreeView в ADOTable

Возникла такая проблема, по отдельности оба фильтра работают. но когда фильтрую по одному полю, этот фильтр не врубая фильтрую по второму полю получается так что второй фильтр вырубает первый и фильтрует по одному полю. Демонстрирую :
, вот поля по которым фильтрую данные. нажимаю на специальность фильтруется как видно на скриншоте
. теперь демонстрируем второй фильтр не отключая первый.
вот результат. С чем это связанно. Заранее благодарен!
nagi12-02 вне форума Ответить с цитированием
Старый 08.07.2014, 09:21   #2
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Как организована связь между таблицами? Что сделано для того, чтобы работало два фильтра?
FataLL вне форума Ответить с цитированием
Старый 08.07.2014, 14:30   #3
nagi12-02
Пользователь
 
Регистрация: 15.01.2014
Сообщений: 21
По умолчанию

Цитата:
Сообщение от FataLL Посмотреть сообщение
Как организована связь между таблицами? Что сделано для того, чтобы работало два фильтра?
Код:
{
{
Черпает данные с таблицы ADOTable2
ADOTable1->First();
for (int i=0; i<ADOTable1->RecordCount; i++)
{
sTreeView1->Items->Add(0,ADOTable1->Fields->Fields[1]->AsString);
ADOTable1->Next();
}
sTreeView1->Items->Item[1]->Selected;
}
{
Черпает данные с таблицы ADOTable3
ADOTable3->First();
for (int i=0; i<ADOTable3->RecordCount; i++)
{
sTreeView2->Items->Add(0,ADOTable3->Fields->Fields[1]->AsString);
ADOTable3->Next();
}
sTreeView2->Items->Item[1]->Selected;
}
}
Код:
Когда кликаешь по строке sTreeView1 фильтрует данные по записи
String a=sTreeView1->Selected->Text;
ADOTable2->Filtered=false;
ADOTable2->Filter="Специальность=\'"+a+"\'";
ADOTable2->Filtered=true;

Когда кликаешь по строке sTreeView2 фильтрует данные по записи
String a=sTreeView2->Selected->Text;
ADOTable2->Filtered=false;
ADOTable2->Filter="Форма_обучения=\'"+a+"\'";
ADOTable2->Filtered=true;
nagi12-02 вне форума Ответить с цитированием
Старый 09.07.2014, 10:46   #4
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Очевидно, что при клике по второму treeview, надо объединить два условия фильтра
Код:
String a=sTreeView1->Selected->Text;
String b=sTreeView2->Selected->Text;
ADOTable2->Filtered=false;
ADOTable2->Filter="Специальность=\'"+a+"\' AND Форма_обучения=\'"+b+"\'";
ADOTable2->Filtered=true;
FataLL вне форума Ответить с цитированием
Старый 09.07.2014, 10:53   #5
nagi12-02
Пользователь
 
Регистрация: 15.01.2014
Сообщений: 21
По умолчанию

Цитата:
Сообщение от FataLL Посмотреть сообщение
Очевидно, что при клике по второму treeview, надо объединить два условия фильтра
Код:
String a=sTreeView1->Selected->Text;
String b=sTreeView2->Selected->Text;
ADOTable2->Filtered=false;
ADOTable2->Filter="Специальность=\'"+a+"\' AND Форма_обучения=\'"+b+"\'";
ADOTable2->Filtered=true;
Спасибо! все получилось! Что хоть не испробовал ничего не помогало, а тут все так просто...
nagi12-02 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
count по двум полям _SERGEYX_ БД в Delphi 3 05.06.2012 17:44
фильтр по двум полям Alex003 Помощь студентам 2 03.12.2011 11:39
поиск по двум полям denisov PHP 4 23.04.2010 21:50
Отбор по двум полям MPa БД в Delphi 4 06.02.2008 20:14
Фильтрация по двум полям Dunkas БД в Delphi 11 21.01.2008 23:59