Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

Скрыть записи в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.049 c
15-1188825195
Gamer_Desktoper
2007-09-03 17:13
2007.09.30
Настольные игры. Кто-нибудь такие делал?


15-1188486416
TUser
2007-08-30 19:06
2007.09.30
Наши гадят


2-1188797687
малой
2007-09-03 09:34
2007.09.30
Служба и процессы


1-1184536038
временный Чайник
2007-07-16 01:47
2007.09.30
Сенсорный монитор


15-1188581516
Alex.rus
2007-08-31 21:31
2007.09.30
DOS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский