![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скрытие строк в гриде [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, то надо "скрывать" записи в датасете, например через фильтр.