0 / 0 / 0
Регистрация: 26.06.2010
Сообщений: 29
1

Как задать фильтр в представлении?

29.06.2010, 15:30. Показов 18056. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!
Пользователю доступно N-е количество представлений (порядка 40-50), один документ может отображаться только в одном представлении или в нескольких. Например, открыв 1-е представление ему надо по какому-то дополнительному критерию отсеять записи в нем - задать фильтр: по дате, по имени вложения или по какому-то еще полю (критерий может задаваться по полю, которое в данном представлении не отображается). После перехода на другое представление фильтр сбрасывается, хотя если бы не сбрасывался то ошибка с поврежденным документом все равно осталась бы.
Сейчас фильтр реализован через изменение поля View.SelectionFormula. При закрытии представления значение фильтра автоматически сбрасывается в исходное (вызывается View.SelectionFormula = "SELECT ..."). Все работает хорошо.
Только при каждом открытии базы в статусбаре выводится "document has been modified or corrupted since signed! (data)". Если значение SelectionFormula не изменять, то все проходит хорошо.
Поэтому вопрос: какие есть варианты реализации фильтра чтобы не было такой ошибки или же можно как-то "откатить" значение SelectionFormula в первоначальное состояние? И попутно: возможно ли генерировать формулу выборки для представления динамически? А то получается что некоторые представления отличаются одним полем всего, хотелось бы как-то это все упростить.
Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2010, 15:30
Ответы с готовыми решениями:

Как задать параметры вызываемого действия в представлении
Контрол вызывает действие. Например,...

Как правильно задать фильтр?
В таблице fire есть Enum поле имеющее 2 значения "Лок" и "". На форме сделал ComboBox с этими...

Как задать текстовый фильтр на кнопку?
Подскажите... Есть разделенная форма. Таблица внизу. Если в столбец таблицы нажать правой кнопкой...

Как задать фильтр для SaveFileDialog?
Такоую ерунду нашел - в некоторых программах когда задают фильтр типа файлов есть допустим все...

9
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
29.06.2010, 15:36 2
Цитата Сообщение от AlexeyStaf
document has been modified or corrupted since signed
Всегда считал что данное сообщение выводится, когда подписанный документ затем модифицируется в бэкэнде, например, агентом. По крайней мере связи с формулой отбора не замечал.
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
29.06.2010, 15:37 3
http://web3.inttrust.ru/Site/itforum.nsf/a...E2?OpenDocument
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.06.2010, 15:48 4
После изменения SelectionFormula, необходимо взять документ вида и выполнить метод .Sign(), потом не забыть .Save()
0
0 / 0 / 0
Регистрация: 26.06.2010
Сообщений: 29
29.06.2010, 16:05 5
После изменения SelectionFormula, необходимо взять документ вида и выполнить метод .Sign(), потом не забыть .Save()
А если с базой работает много пользователей одновременно? Или же они будут подписывать каждый свое представление?

Добавлено:


стоит задуматься о принципах работы домины...
отбор нужен с опред целью, сложный фронтэнд можно делать внешними средствами
выборку доков можно осущ.:
-DbSearch
-FT search
-GetAllDocumentsByKey
-GetAllEntriesByKey
...
всё зависит от задачи
Смысл в том, что пользователь перемещается по списку, где каждой записи должено соответствовать свое представление, в котором можно задать еще и фильтр. В каждом представлении может отображаться довольно-таки много документов (от десятков до нескольких тысяч). В какую сторону лучше тогда копать, чтобы производительность была пошустрее?
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
29.06.2010, 16:11 6
Сообщение потому что меняешь элемент дизайна (view.SelectionFormula) и не подписываешь его потом.
Решение годиться только для single-user базы.
0
0 / 0 / 0
Регистрация: 26.06.2010
Сообщений: 29
29.06.2010, 16:23 7
Цитата Сообщение от Omh
Сообщение потому что меняешь элемент дизайна (view.SelectionFormula) и не подписываешь его потом.
Решение годиться только для single-user базы.
Мне этот вариант сразу не понравился ;)
Сам понимаю, что решение с огромным количеством вьюх выглядит некрасиво, поэтому и ищу какую-то альтернативу...
0
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
29.06.2010, 16:23 8
Цитата Сообщение от AlexeyStaf
Смысл в том, что пользователь перемещается по списку, где каждой записи должено соответствовать свое представление, в котором можно задать еще и фильтр. В каждом представлении может отображаться довольно-таки много документов (от десятков до нескольких тысяч).
Может список в Outline вынести? Обычно так делается. А фильтрацию можно штатную использовать, задействовать хранимые фильтры.
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
29.06.2010, 16:29 9
Цитата Сообщение от AlexeyStaf
Смысл в том, что пользователь перемещается по списку, где каждой записи должено соответствовать свое представление
Количество записей фиксировано?
Если да, то кол-во записей = кол-во view
Если нет, что-то вроде ShowSingleCategory




Цитата Сообщение от AlexeyStaf
в котором можно задать еще и фильтр
db.Search/db.FTSearch + отображение по желанию: RichText, Html, внешний файл
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
29.06.2010, 16:35 10
Посмотри @SetViewInfo(), может поможет
0
29.06.2010, 16:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.06.2010, 16:35
Помогаю со студенческими работами здесь

Как задать фильтр в Table по маске
Подскажите как задать фильтр в Table подобно запросу в sql (NAME like "%часть строки%)

Как задать фильтр по части текста
Когда задаем условие автофильтрации, то уже в момент ввода части условия происходит...

Как правильно задать фильтр в объявленной функции
Всем доброго времени суток. Столкнулся с такой проблемой, через объявленную функцию не могу...

Как задать фильтр для вывода файлов?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru