View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001495 | SAS.Планета | Хотелка / Feature request | public | 12-08-2012 18:42 | 24-09-2015 07:18 |
| Reporter | koch | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | confirmed | Resolution | reopened | ||
| Platform | Windows | OS | XP | OS Version | SP3 |
| Product Version | 120808 | ||||
| Target Version | 45xxxx | ||||
| Summary | 0001495: Список меток сделать таблицей | ||||
| Description | В "Управление метками" список меток сделать таблицей с соотв. возможностями: 1. сортировки по столбцам. 2. отключать показ ненужных столбцов. Столбцы: 1. Название метки 2. Дата создания метки 3. Категория 4. Скрытые/отображаемые метки 5. Тип метки (метка, путь, полигон) | ||||
| Tags | метки, управление метками | ||||
| parent of | 0002461 | assigned | Перевести менеджер меток на VirtualTreeView | |
| Not all the children of this issue are yet resolved or closed. | ||||
|
|
Я вот думаю, что когда в Управлении метками мы начнём использовать VirtualTreeView (см. 0002461), то сделать табличный вид будет вполне просто и логично. Правда, категории останутся отдельно, а метки отдельно, как и сейчас. Это не совсем то, что просил топикстартер, но очень близко. |
|
|
>Столбцы: >3. Категория Хм. Может быть сделать многомерный КУБ, и вращайте его как хотите, группируйте по категории или по атрибутам, типам,... >сделать табличный вид будет вполне просто и логично Ничего проще и быстрее дбгрида не получится. |
|
|
И как ты предлагаешь вкорячить этот DBGrid? Ему же DataSource нужен, а у нас из базы интерфейсы возвращаются. |
|
|
>у нас из базы интерфейсы возвращаются Вы так об этом говорите, как будто это правильно ;) Кто сказал, что тот же самый API, что используется для показа меток, является самым оптимальным для отображения данных в виде куба или таблицы? Сначала значит суём метки в список, потом итератор запускаем по списку, потом суём в дерево... Задача - заполнить датасет из базы. Как это будет сделано технически - по большому счёту не принципиально. Главное - надо не грид заполнять на основе полученного списка, а чтобы грид (через датасет) отдавался в базу и говорил: "Заполните меня напрямую!" Только тогда это будет реально быстро. Кроме того, появится возможность подгружать данные по мере необходимости (а не ждать построения всего дерева прежде чем его показать). А вообще, поскольку редактирование в гриде не предполагается, то можно датасет даже руками наполнять на основании списка интерфейсов, и то что там всё будет в состоянии dsEdit, парить не должно. |
|
|
Ну пока никто не собирается менять API подсистемы меток для оптимизации отображения, VirtualTreeView должен вписаться вполне нормально. Не идеально, но хуже чем сейчас, точно не будет. |
|
|
>хуже чем сейчас, точно не будет Когда-то давно он был настолько баговит, что мне от него пришлось отказаться. >VirtualTreeView должен вписаться вполне нормально Ну и в чём разница тогда, его заполнять из списка или пустой датасет? Делать, так сразу полноценный грид. |
|
|
Датасет нужно заполнить полностью, а это дерево будет заполняться динамически, по мере надобности. |
|
|
>дерево будет заполняться динамически Это как? Дерево принципиально строится полностью до показа, потому что процедура типа append для него в общем случае не определена. Если мы опять приходим к тому, что мы будем с деревом работать как с гридом, то на кой вообще тогда такое дерево, если можно сразу взять грид? >Датасет нужно заполнить полностью С чего бы это? Грид как раз позволяет не грузить всё в датасет перед отображением. Да вот даже хотя бы в датасет запульнуть только идентификатор метки или номер в списке, а остальные поля сделать кальковыми, и на OnCalcFields заполнять их из списка. Чего влазит в клиентскую область - то и будет отображаться. |
|
|
> Дерево принципиально строится полностью до показа Этот компонент хитрый - ты ему указываешь количество нодов и назначаешь обработчик OnInitNode, а он вызывает твой код, где ты инициализируешь только те ноды, которые реально отображаются на экране. Так что и строится оно на лету. |
|
|
>ты ему указываешь количество нодов >назначаешь обработчик OnInitNode >инициализируешь только те ноды, которые реально отображаются на экране И чем это принципиально отличается от OnCalcFields у DBGrid? |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 12-08-2012 18:42 | koch | New Issue | |
| 03-09-2012 10:45 | vdemidov | Status | new => resolved |
| 03-09-2012 10:45 | vdemidov | Resolution | open => won't fix |
| 03-09-2012 10:45 | vdemidov | Assigned To | => vdemidov |
| 03-09-2012 10:45 | vdemidov | Status | resolved => closed |
| 11-07-2015 07:28 | zed | Note Added: 0016121 | |
| 11-07-2015 07:29 | zed | Relationship added | parent of 0002461 |
| 11-07-2015 07:29 | zed | Assigned To | vdemidov => |
| 11-07-2015 07:29 | zed | Status | closed => confirmed |
| 11-07-2015 07:30 | zed | Resolution | won't fix => reopened |
| 11-07-2015 07:30 | zed | Target Version | => 151010 |
| 11-07-2015 12:18 | vasketsov | Note Added: 0016128 | |
| 11-07-2015 12:19 | vasketsov | Note Edited: 0016128 | |
| 11-07-2015 12:20 | vasketsov | Note Edited: 0016128 | |
| 11-07-2015 12:24 | zed | Note Added: 0016130 | |
| 11-07-2015 12:39 | vasketsov | Note Added: 0016133 | |
| 11-07-2015 13:07 | zed | Note Added: 0016136 | |
| 11-07-2015 13:36 | vasketsov | Note Added: 0016138 | |
| 11-07-2015 13:39 | zed | Note Added: 0016139 | |
| 11-07-2015 18:04 | vasketsov | Note Added: 0016140 | |
| 11-07-2015 18:42 | zed | Note Added: 0016141 | |
| 14-07-2015 07:33 | vasketsov | Note Added: 0016158 | |
| 29-07-2015 14:53 | vdemidov | Tag Attached: метки | |
| 29-07-2015 14:53 | vdemidov | Tag Attached: управление метками | |
| 24-09-2015 07:18 | vdemidov | Target Version | 151010 => 45xxxx |
| 08-08-2025 13:24 | zed | Category | Хотелка => Хотелка / Feature request |