SelectionManager - Доступ к выделенным объектам

class axipy.SelectionManager

Класс доступа к выделенным объектам.

Примечание

Получить экземпляр сервиса можно в атрибуте axipy.selection_manager.

Свойства:

count

Размер выделения, то есть количество выделенных записей (количество элементов в списке идентификаторов).

ids

Список идентификаторов выделенных записей.

table

Таблица, являющаяся источником текущего выделения.

Методы:

add(table, ids)

Добавляет выборку записи таблицы по их идентификаторам.

clear()

Очищает выборку.

get_as_cursor()

Возвращает выборку в виде итератора по записям.

get_as_table()

Возвращает выборку в виде таблицы.

remove(table, ids)

Удаляет из выборки записи таблицы по их идентификаторам.

set(table, ids)

Создает выборку из записей таблицы по их идентификаторам.

Сигналы:

changed

Выделение было изменено.

add(table: Table, ids: Union[List[int], int])

Добавляет выборку записи таблицы по их идентификаторам.

Параметры:
  • table – Таблица.

  • ids – Идентификаторы записей.

property changed: Signal

Выделение было изменено.

Тип результата:

Signal[]

clear()

Очищает выборку.

property count: int

Размер выделения, то есть количество выделенных записей (количество элементов в списке идентификаторов).

get_as_cursor() Iterator[Feature]

Возвращает выборку в виде итератора по записям.

Пример:

for f in selection_manager.get_as_cursor():
    print('Feature id={}. Страна={}'.format(f.id, f['Страна']))

Предупреждение

Не рекомендуется, начиная с версии 3.5: Используйте axipy.DataManager.selection.

get_as_table() Optional[Table]

Возвращает выборку в виде таблицы.

Результат:

Таблица или None, если выборки нет.

Содержимое таблицы основывается на текущей выборке на момент вызова данного метода. При последующем изменении или сбросе выборки контент данной таблицы не меняется. Результирующей таблице присваивается наименование в формате data*, которое в последствии можно изменить. При закрытии базовой таблицы данная таблицы так-же закрывается.

Пример:

# Получаем таблицу из выборки.
tbl = selection_manager.get_as_table()
# Задаем желаемое имя таблицы (необязательно)
tbl.name = 'my_table'
# Регистрация в каталоге (необязательно)
app.mainwindow.catalog().add(tbl)
for f in tbl.items():
    print('Feature id={}. Страна={}'.format(f.id, f['Страна']))

Предупреждение

Не рекомендуется, начиная с версии 3.5: Используйте axipy.DataManager.selection.

property ids: List[int]

Список идентификаторов выделенных записей.

remove(table: Table, ids: Union[List[int], int])

Удаляет из выборки записи таблицы по их идентификаторам.

Параметры:
  • table – Таблица.

  • ids – Идентификаторы записей.

set(table: Table, ids: Union[List[int], int])

Создает выборку из записей таблицы по их идентификаторам.

Параметры:
  • table – Таблица.

  • ids – Идентификаторы записей.

property table: Optional[Table]

Таблица, являющаяся источником текущего выделения. Если ничего не выделено, то None