Выбор объектов в таблице
Добавлено: 23 окт 2019, 12:02
Доброго времени суток!
Как можно самому выбрать записи в таблице в Выборку?
Как можно самому выбрать записи в таблице в Выборку?
Код: Выделить всё
context = SimpleTableContext(table)
query = 'SELECT * FROM Пекло WHERE Ид = "666"
sel = select(query, context)
mapview = axioma.app.mainWindow.mapViewManager().currentMapView()
layers = mapview.allTableLayersWithoutCosmetic()
for item in layers:
if item.name() == "Пекло":
layer = item
selmodel = mapview.selectionModel()
for feature in sel.features:
selmodel.setSelection(MapFeatureItem(layer, feature, feature, mapview.viewport()))
Код: Выделить всё
# Получаем каталог открытых данных
catalog = axioma.app.mainWindow.dataCatalog()
# Выбираем открытую таблицу
table = catalog.allDataObjects()[0]
# Получаем объект класса SelectionManager
manager = catalog.selectionManager()
# Создаем выборку из объектов таблицы с номерами 1, 3 и 5
manager.setSelection(table, [1, 3, 5])
# Добавляем в созданную выборку объект таблицы с номером 2
manager.addToSelection(table, [2])
# Удаляем выборку
manager.deselect(table, [1, 2, 3, 5])
Код: Выделить всё
catalog = axioma.app.mainWindow.dataCatalog()
table = catalog.findDataObjectByName('Пекло')
context = SimpleTableContext(table)
query = SELECT * FROM Пекло WHERE Ид = "666"'
sel = select(query, context)
if len(sel.features) > 0:
mapview = axioma.app.mainWindow.mapViewManager().currentMapView()
manager = catalog.selectionManager()
ids = [feature.id() for feature in sel.features]
manager.setSelection(table, ids)
mapview.showSelection()
Работал)) Я писал об этом.. Поменялась версия Аксиомы.. Разобрался..А раньше "обходной путь" работал? Что поменялось? Надо разбираться...
Код: Выделить всё
id = -1
features = table.allFeatures()
for feature in features:
value = str(feature.getAttribute('Ид', Qt.CaseInsensitive))
if value == '666':
id = feature.id()
break
if id >= 0:
mapview = axioma.app.mainWindow.mapViewManager().currentMapView()
manager = catalog.selectionManager()
manager.setSelection(table, [id])
mapview.showSelection()