Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.016 c
15-1188409507
barakuda
2007-08-29 21:45
2007.09.30
Продажа программы


10-1137594722
Scorpio
2006-01-18 17:32
2007.09.30
Перемещение курсора в Word


15-1188811502
Steep
2007-09-03 13:25
2007.09.30
Файлы


15-1188383844
Vudu
2007-08-29 14:37
2007.09.30
Глюки в Viste


15-1188279753
SerJaNT
2007-08-28 09:42
2007.09.30
Разрешение и частота обновления экрана в Ubuntu 7.04




   Наверх