На главнуюКонтактыКарта сайта
В коробке инженера
В коробке инженера
Обзоры программ, интересных блогов и программирование
Заметки о Rastrwin, Matlab
  • Twitter Colee

Работа с фильтром в Rastr3 (выборка отфильтрованной информации)

Автор: colee | Рубрика: Заметки » Обзоры » Программы » Rastrwin
Четверг, 26 сентября 2013 г.
Теги: , , Просмотров: 3617

После появления в интерфейсе таблиц Rastr3 быстрых фильтров (в Rastr2 фильтров нет) выборки немного уходят на второй план. И причин тут две:

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

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

Для примера отфильтруем таблицу по напряжению

Быстрый фильтр таблицы

А теперь попробуем что-нибудь сделать с этой информацией. Попробуем экспортировать отфильтрованную таблицу

Экспорт таблицы

Но мы видим, что поле выборки пустое. Это значит, что таблица экспортируется полностью, а нам нужна только отфильтрованная часть таблицы.

Если попробовать групповую коррекцию, нас ждет та же участь

Групповая коррекция

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

Решение

А теперь рассмотрим, как можно получить доступ к отфильтрованной таблице. Для этого используем встроенный макрос, который отмечает выделенные строки в таблице. Макрос "Отметить выделенные" (физический файл otm_vid.rbs)  находится в папке contextmacro, и подключается к таблице через настройки форм либо через Настройки программы - Настройки - Контекстные макросы (context).

Порядок следующий:

  1. Выделяем все строки отфильтрованной таблицы, нажимая на левый верхний угол таблицы левой кнопкой мыши
  2. Выделение всех строк в таблице с фильтром

  3. Выбираем через меню правой клавиши мыши Макрос - []Отметить выделенные
  4. Макрос Отметить выделенные

  5. После работы макроса все выделенные строки отметятся и появится галочка в столбце О(sel)
  6. Отмеченные строки в столбце О(sel)

  7. Теперь доступ к отфильтрованной таблице можно получить через простую выборку sel

Давайте попробуем в отфильтрованной таблице поменять номер района на 111. Вызываем окно групповой коррекции

Групповая коррекция с выборкой sel

Обязательно прописываем выборку sel, которая означает все выделенные элементы в столбце sel (отмеченные)

И в итоге...

Измененный номер района в таблице

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

Важно помнить, что до применения макроса "Отметить выделенные" нужно в столбце sel (отмеченные) убрать все отметки, чтобы потом они не попали в выборку sel.

Всем приятной работы...


Поделиться с друзьями:
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com blogger.com livejournal.ru google.com yandex.ru del.icio.us
Оставьте комментарий!

Используйте нормальные имена

Ваш E-mail не публикуется, используется для обратной связи и для выбора аватара с сайта gravatar.com

Публикуется вместе с комментарием

усмешка LOL сыр улыбка подмигнуть ухмылка глаза в сторону в тупике удивление большое удивление малинка пустое лицо сдвинутая бровь Оо гррр ох ох неудачник смущенный больной Тау хммм бешенный злой клевый поцелуй шок крутой недовольный

Запрещается оскорблять окружающих и использовать ненормативную лексику

Вы должны включить JavaScript, чтобы оставить сообщение