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

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

Скрыть записи в DBGrid'е [D7, FireBird 2.0]


Страницы:   1 2

MZ ©   (2007-05-24 12:38:00) 

Нужно скрыть записи в DBGrid, чтобы отмеченные пользователям записи не отображались в гриде. Создавать лишнее поле в базе данных, чтобы потом запросом выбирать из него нужные записи не очень хочется. Может есть какой другой способ...


Sergey13   (2007-05-28 16:33:00) [1]

> [2] MZ   (24.05.07 12:45)
> их убрать надо для того чтоб они "не мозолили глаза"(

На мониторе скочем заклеить.


Anatoly Podgoretsky   (2007-05-28 16:25:00) [2]

Глазами


Игорь Шевченко   (2007-05-28 16:23:00) [3]


> А записи которые прошли эту сверку и есть "мазолящие глаза"


А как бухгалтер отличает, какие прошли, а какие не прошли ?


MsGuns   (2007-05-26 14:33:00) [4]

>Anatoly Podgoretsky ©   (25.05.07 14:12) [16]
>Без поля в таблице не обойтись, ну разве что обучить базу телепатии

Легко.
Например, выделить "проверенные" (просмотренные, помеченные или др.) в отдельную таблицу. После "проверки" запись из таблицы "непроверенных" удаляется, а в таблицу "проверенных" добавляется.

В случаях со статистической информацией (большой общий объем, низкий процент потенциально интересных (свежих) данных, много длинных символьный полей) такой способ позволяет избежать тормозов при выборах, появляющихся при достаточно долгой эксплуатации системы.


Anatoly Podgoretsky   (2007-05-25 14:30:00) [5]

> Павел Калугин  (25.05.2007 14:20:17)  [17]

Что есть статус, случайно это не поле, буз которого ты хочешь обойтись


Павел Калугин   (2007-05-25 14:20:00) [6]


> Anatoly Podgoretsky ©   (25.05.07 14:12) [16]
> > ЮЮ  (25.05.2007 11:30:14)  [14]
>
> Без поля в таблице не обойтись,

Ну почему, если к каждой записи еще и есть статус то просто изменить его на "выверено"
но с другой стороны был бы статус не было бы вопроса:)


Anatoly Podgoretsky   (2007-05-25 14:12:00) [7]

> ЮЮ  (25.05.2007 11:30:14)  [14]

Без поля в таблице не обойтись, ну разве что обучить базу телепатии


Jan1   (2007-05-25 11:39:00) [8]


> Речь ведь не о разграничениях по пользователям или правам.
>  Речь об отсеве обработанных этим же юзером записей.

Да ты прав. Ну тогда без признака что запись отработана: дата, булево поле и т.п. признак - не обойтись!


ЮЮ   (2007-05-25 11:30:00) [9]

> [13] Desdechado ©   (25.05.07 11:20)

> Речь об отсеве обработанных этим же юзером записей.


Речь идет не об отсеве не на сеанс, а "навсегда", как я понял. Т.е. появляющиеся новые записи не внушают доверия бухгалтера, поэтому он их просматривает самомстоятельно. Тезапис, которым он дал "добро" скрываются с глаз долой из этого клиента.


Desdechado   (2007-05-25 11:20:00) [10]

Jan1 ©   (25.05.07 10:36) [9]
Мне кажется, ты не в ту степь пошел.
Речь ведь не о разграничениях по пользователям или правам. Речь об отсеве обработанных этим же юзером записей.


ЮЮ   (2007-05-25 10:50:00) [11]

[7]-[11]
О чем речь?
Создавать лишнее полев базе данных, чтобы потом запросом выбирать из него нужные записи не очень хочется

Автору хочется чтобв записи волшебным образом исчезали с экрана.


Jan1   (2007-05-25 10:40:00) [12]


> Потом к запросу, на выбор даных прилепливается фильтр:

А лучше всего вьюху. Даже не лучше а надо.


Loginov Dmitry   (2007-05-25 10:39:00) [13]

А обычный фильтр случаем не поможет?


Jan1   (2007-05-25 10:36:00) [14]


> Нужно скрыть записи в DBGrid, чтобы отмеченные пользователям
> записи не отображались в гриде. Создавать лишнее поле в
> базе данных, чтобы потом запросом выбирать из него нужные
> записи не очень хочется. Может есть какой другой способ.
> ..

Это называется RLS: Row Level Security. Поля создавать не надо. Надо создать таблицу развязки: ссылка на запись таблицы, ссылка на пользователя, уровень доступа. Потом к запросу, на выбор даных прилепливается фильтр:

select *
from Table
where exists(select * from TableRight
where Table.ID= TableRight.RecordID
and TableRight.User = CURRENT_USER
and TableRight.CanRead = 1)


Робинзон   (2007-05-25 09:05:00) [15]

В контекстном меню пишеш код
procedure TForm1.N5Click(Sender: TObject);
begin
if popupmenu1.Items[7].Items[0].Checked then
begin
DataModule1.BookTable.Fields[1].Visible:=false;
popupmenu1.Items[7].Items[0].Checked:=false;
end
else
begin
DataModule1.BookTable.Fields[1].Visible:=true;
popupmenu1.Items[7].Items[0].Checked:=true;
end ;
end;


Робинзон   (2007-05-25 09:01:00) [16]

Сделай столбец невидимым.


Desdechado   (2007-05-24 13:13:00) [17]

Вот тебе и атрибут сущности "факт прошествия проверки". Заполняешь, анализируешь, обрабатываешь в соответствии с бизнес-логикой.


MZ   (2007-05-24 13:01:00) [18]


> > Не надо создавать поля, надо выявлять атрибуты сущностей.
>
> >  Почему одна запись мозолит глаза, а другая нет? Выясни
> > и бухгалтера. И тогда это будет не оишнее полн, а атрибут
> > сущности, экземпляры которых хранятся в таблице
> >
>
>
> По этим записям делается сверка, делается она ручками...
>  А записи которые прошли эту сверку и есть "мазолящие глаза"
>

Т.е. бухгалтер должна посмотреть запись, одобрительно кивнуть и скрыть ее, а если она не согдасна с даннами, должна выполнить какие то, только ей ведомые действия


MZ   (2007-05-24 12:58:00) [19]



> Не надо создавать поля, надо выявлять атрибуты сущностей.
>  Почему одна запись мозолит глаза, а другая нет? Выясни
> и бухгалтера. И тогда это будет не оишнее полн, а атрибут
> сущности, экземпляры которых хранятся в таблице
>


По этим записям делается сверка, делается она ручками... А записи которые прошли эту сверку и есть "мазолящие глаза"


ЮЮ   (2007-05-24 12:51:00) [20]

чтоб записи они "не мозолили глаза" нужно выводить лишь те записи, которые нужны.

Создавать лишнее поле в базе данных ...  не очень хочется.
Не надо создавать поля, надо выявлять атрибуты сущностей. Почему одна запись мозолит глаза, а другая нет? Выясни и бухгалтера. И тогда это будет не оишнее полн, а атрибут сущности, экземпляры которых хранятся в таблице


Страницы:   1 2

Наверх

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