Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Скрыть записи в DBGrid е   Найти похожие ветки 

 
MZ   (2007-05-24 12:38) [0]

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


 
ЮЮ ©   (2007-05-24 12:41) [1]

Тогда удали их вовсе. Он же их никогда больше видеть не желает, коль так с ними поступил.


 
MZ   (2007-05-24 12:45) [2]


> Тогда удали их вовсе. Он же их никогда больше видеть не
> желает, коль так с ними поступил.
>

Увы, нельзя Из грида их убрать надо для того чтоб они "не мозолили глаза"(как сказал мне бухгалтер). А в базе она должна хранится.....


 
ЮЮ ©   (2007-05-24 12:51) [3]

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

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


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



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


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


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


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

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


 
Desdechado ©   (2007-05-24 13:13) [6]

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


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

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


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

В контекстном меню пишеш код
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;


 
Jan1 ©   (2007-05-25 10:36) [9]


> Нужно скрыть записи в 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)


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

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


 
Jan1 ©   (2007-05-25 10:40) [11]


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

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


 
ЮЮ ©   (2007-05-25 10:50) [12]

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

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


 
Desdechado ©   (2007-05-25 11:20) [13]

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


 
ЮЮ ©   (2007-05-25 11:30) [14]

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

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


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


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


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

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


 
Anatoly Podgoretsky ©   (2007-05-25 14:12) [16]

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

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


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


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

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


 
Anatoly Podgoretsky ©   (2007-05-25 14:30) [18]

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

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


 
MsGuns ©   (2007-05-26 14:33) [19]

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

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

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


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


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


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


 
Anatoly Podgoretsky ©   (2007-05-28 16:25) [21]

Глазами


 
Sergey13 ©   (2007-05-28 16:33) [22]

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

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



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

Текущий архив: 2007.09.30;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.022 c
2-1188589307
к2в2
2007-08-31 23:41
2007.09.30
Время простоя + службы


8-1167149205
S1lent
2006-12-26 19:06
2007.09.30
Карта высот


1-1184236602
DevilDevil
2007-07-12 14:36
2007.09.30
ToolBar,Menu,ToolButton, Font


15-1188570006
Черный Шаман
2007-08-31 18:20
2007.09.30
Русский код, бессмысленный и беспощадный.


15-1187287439
pasha_golub
2007-08-16 22:03
2007.09.30
sopcast