SASGIS - SAS.Планета
View Issue Details
0001495SAS.Планета[All Projects] Хотелкаpublic12-08-2012 18:4224-09-2015 07:18
koch 
 
normalminorhave not tried
confirmedreopened 
WindowsXPSP3
120808 
40xxxx 
0001495: Список меток сделать таблицей
В "Управление метками" список меток сделать таблицей с соотв. возможностями:
1. сортировки по столбцам.
2. отключать показ ненужных столбцов.

Столбцы:
1. Название метки
2. Дата создания метки
3. Категория
4. Скрытые/отображаемые метки
5. Тип метки (метка, путь, полигон)
метки, управление метками
parent of 0002461confirmed  Перевести менеджер меток на VirtualTreeView 
Not all the children of this issue are yet resolved or closed.
Issue History
12-08-2012 18:42kochNew Issue
03-09-2012 10:45vdemidovStatusnew => resolved
03-09-2012 10:45vdemidovResolutionopen => won't fix
03-09-2012 10:45vdemidovAssigned To => vdemidov
03-09-2012 10:45vdemidovStatusresolved => closed
11-07-2015 07:28zedNote Added: 0016121
11-07-2015 07:29zedRelationship addedparent of 0002461
11-07-2015 07:29zedAssigned Tovdemidov =>
11-07-2015 07:29zedStatusclosed => confirmed
11-07-2015 07:30zedResolutionwon't fix => reopened
11-07-2015 07:30zedTarget Version => 151010
11-07-2015 12:18vasketsovNote Added: 0016128
11-07-2015 12:19vasketsovNote Edited: 0016128bug_revision_view_page.php?bugnote_id=16128#r6646
11-07-2015 12:20vasketsovNote Edited: 0016128bug_revision_view_page.php?bugnote_id=16128#r6647
11-07-2015 12:24zedNote Added: 0016130
11-07-2015 12:39vasketsovNote Added: 0016133
11-07-2015 13:07zedNote Added: 0016136
11-07-2015 13:36vasketsovNote Added: 0016138
11-07-2015 13:39zedNote Added: 0016139
11-07-2015 18:04vasketsovNote Added: 0016140
11-07-2015 18:42zedNote Added: 0016141
14-07-2015 07:33vasketsovNote Added: 0016158
29-07-2015 14:53vdemidovTag Attached: метки
29-07-2015 14:53vdemidovTag Attached: управление метками
24-09-2015 07:18vdemidovTarget Version151010 => 40xxxx

Notes
(0016121)
zed   
11-07-2015 07:28   
Я вот думаю, что когда в Управлении метками мы начнём использовать VirtualTreeView (см. 0002461), то сделать табличный вид будет вполне просто и логично. Правда, категории останутся отдельно, а метки отдельно, как и сейчас. Это не совсем то, что просил топикстартер, но очень близко.
(0016128)
vasketsov   
11-07-2015 12:18   
(edited on: 11-07-2015 12:20)
>Столбцы:
>3. Категория
Хм. Может быть сделать многомерный КУБ, и вращайте его как хотите, группируйте по категории или по атрибутам, типам,...

>сделать табличный вид будет вполне просто и логично
Ничего проще и быстрее дбгрида не получится.

(0016130)
zed   
11-07-2015 12:24   
И как ты предлагаешь вкорячить этот DBGrid? Ему же DataSource нужен, а у нас из базы интерфейсы возвращаются.
(0016133)
vasketsov   
11-07-2015 12:39   
>у нас из базы интерфейсы возвращаются
Вы так об этом говорите, как будто это правильно ;)

Кто сказал, что тот же самый API, что используется для показа меток, является самым оптимальным для отображения данных в виде куба или таблицы? Сначала значит суём метки в список, потом итератор запускаем по списку, потом суём в дерево...

Задача - заполнить датасет из базы. Как это будет сделано технически - по большому счёту не принципиально. Главное - надо не грид заполнять на основе полученного списка, а чтобы грид (через датасет) отдавался в базу и говорил: "Заполните меня напрямую!" Только тогда это будет реально быстро. Кроме того, появится возможность подгружать данные по мере необходимости (а не ждать построения всего дерева прежде чем его показать).

А вообще, поскольку редактирование в гриде не предполагается, то можно датасет даже руками наполнять на основании списка интерфейсов, и то что там всё будет в состоянии dsEdit, парить не должно.
(0016136)
zed   
11-07-2015 13:07   
Ну пока никто не собирается менять API подсистемы меток для оптимизации отображения, VirtualTreeView должен вписаться вполне нормально. Не идеально, но хуже чем сейчас, точно не будет.
(0016138)
vasketsov   
11-07-2015 13:36   
>хуже чем сейчас, точно не будет
Когда-то давно он был настолько баговит, что мне от него пришлось отказаться.

>VirtualTreeView должен вписаться вполне нормально
Ну и в чём разница тогда, его заполнять из списка или пустой датасет? Делать, так сразу полноценный грид.
(0016139)
zed   
11-07-2015 13:39   
Датасет нужно заполнить полностью, а это дерево будет заполняться динамически, по мере надобности.
(0016140)
vasketsov   
11-07-2015 18:04   
>дерево будет заполняться динамически
Это как? Дерево принципиально строится полностью до показа, потому что процедура типа append для него в общем случае не определена. Если мы опять приходим к тому, что мы будем с деревом работать как с гридом, то на кой вообще тогда такое дерево, если можно сразу взять грид?

>Датасет нужно заполнить полностью
С чего бы это?
Грид как раз позволяет не грузить всё в датасет перед отображением.
Да вот даже хотя бы в датасет запульнуть только идентификатор метки или номер в списке, а остальные поля сделать кальковыми, и на OnCalcFields заполнять их из списка. Чего влазит в клиентскую область - то и будет отображаться.
(0016141)
zed   
11-07-2015 18:42   
> Дерево принципиально строится полностью до показа
Этот компонент хитрый - ты ему указываешь количество нодов и назначаешь обработчик OnInitNode, а он вызывает твой код, где ты инициализируешь только те ноды, которые реально отображаются на экране. Так что и строится оно на лету.
(0016158)
vasketsov   
14-07-2015 07:33   
>ты ему указываешь количество нодов
>назначаешь обработчик OnInitNode
>инициализируешь только те ноды, которые реально отображаются на экране
И чем это принципиально отличается от OnCalcFields у DBGrid?