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

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

Скрытие строк в гриде [D5, Access]


sapsi ©   (2003-03-19 15:06:00) 

Как скрыть строку в гриде, допустим, содержащую опеределенные значения


Mike Kouzmine   (2003-03-20 16:32:00) [1]

Я не особо продвинутый и не уверен с аксессом, но с парадоксом (БДЕ) и без всякой этой лабуды работает фильтр, хотя я его использую в крайних случаях, а пользуюсь SetRange


stone   (2003-03-20 16:29:00) [2]

Для особо продвинутых повторяю
OnFilterRecord
Здесь пример фильтрации Detail таблицы
C:\Program Files\Borland\Delphi7\Demos\Db\Filter\filter.dpr


Mike Kouzmine   (2003-03-20 16:25:00) [3]

Обрати внимение - Хотя есть решение правильное.
см. Соловьев © (20.03.03 14:33)


sapsi   (2003-03-20 15:57:00) [4]

>Когда ты передвигаешься по мастер таблице у нее возникает событие сначала бефор скролл - снимаем фильтрацию, потом автер скролл - устанавливаем фильтрацию. Хотя есть решение правильное.

Не возможно установить фильтр для detail detail таблицы
--------------------------------------------------------------------------------


kaif   (2003-03-20 15:35:00) [5]

OnFilterRecord - самое верное решение в данном случае.


Johnmen   (2003-03-20 15:06:00) [6]

Чем же не устраивает
>stone © (19.03.03 15:23)
>...но может работать OnFilterRecord
?


Соловьев   (2003-03-20 14:33:00) [7]

а почему нельзя использовать связь между двумя TQuery и фильтр не надо и связь будет работать как надо.
Первый TQuery - мастер , второй - детальный.
у первого :
select * from master where <условие>
у второго :
select * from detail where id=:pId
На событие AfterScroll первого , повесить такой обработчик:
with querydetail do
begin
Close;
ParamByName("pID").AsInteger := QueryMaster.FieldByName("ID").AsInteger;
if not Prepared then Prepare;
Open
end;


Mike Kouzmine   (2003-03-20 14:29:00) [8]

Когда ты передвигаешься по мастер таблице у нее возникает событие сначала бефор скролл - снимаем фильтрацию, потом автер скролл - устанавливаем фильтрацию. Хотя есть решение правильное.


sapsi   (2003-03-20 14:23:00) [9]

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


Mike Kouzmine   (2003-03-19 16:11:00) [10]

Когда ты перемещаешся по записям мастер таблицы, то какие евенты происходят? Вот их и отслеживай.


sapsi   (2003-03-19 16:02:00) [11]

before - событие?
beforeRefresh ?


Mike Kouzmine   (2003-03-19 15:53:00) [12]

Before - Filter off, After - Filter On.


sapsi   (2003-03-19 15:47:00) [13]

Спасибо, а как избежать пропадания связи master - > Detail при использовании фильтра


stone   (2003-03-19 15:23:00) [14]


> А если таблица связанная (зависит от главной) будет ли работать
> фильтр?

Фильтр не будет, но может работать OnFilterRecord

> А Ondrawdatacell чем может помочь

Может закрасить ячейки каким-либо фоном или вывести вместо реальных значений какой-либо текст или картинку


sapsi   (2003-03-19 15:18:00) [15]

О DB гриде, конечно...
А если таблица связанная (зависит от главной) будет ли работать фильтр?
А Ondrawdatacell чем может помочь


stone   (2003-03-19 15:12:00) [16]

О каком гриде идет речь?
Если о TDBGrid, то надо "скрывать" записи в датасете, например через фильтр.


Наверх

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