|
|
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
Задача банальна-есть отделы, есть сотрудники, надо загрузить в дерево, каким компонентом в Devexpress пользоваться лучше для данной задача, до этого под мои задачи подходил cxDBTreeList, здесь же данные в разных табличках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:08:20 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
Надо пользоваться двумя компонентами: слева -- дерево с отделами; справа -- список с сотрудниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:11:30 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnetЗадача банальна-есть отделы, есть сотрудники, надо загрузить в дерево, каким компонентом в Devexpress пользоваться лучше для данной задача, до этого под мои задачи подходил cxDBTreeList, здесь же данные в разных табличках . А теперь сделайте запросик . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:20:56 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
JaDiНадо пользоваться двумя компонентами: слева -- дерево с отделами; справа -- список с сотрудниками. А почему, неужели неправильно все выводить в дереве? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:38:04 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
Правильно, выводи, никто не мешает. А данные из разных таблиц объединяются запросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:45:09 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnetJaDiНадо пользоваться двумя компонентами: слева -- дерево с отделами; справа -- список с сотрудниками. А почему, неужели неправильно все выводить в дереве? Зависит от задачи -- для просмотра списков -- в разные, где во втором будет намного больше столбцов с данными (о сотрудниках). А вот для задачи поиска и выбора человека из справочника, например, при заполнении какого-то поля -- хватило бы одного единого древовидного списка с фильтрацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 12:56:48 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
И вообще, если структура простая -- только отделы -- то можно банальный грид с группировкой по отделам использовать. Будет двухуровневое "дерево", где под каждым отделом лежит список его сотрудников. Короче, вариантов полно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 13:00:05 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
В дереве лучше, можно открыть одновременно 2 узла, а 2 списка не увидишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 13:01:18 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
DimaBrПравильно, выводи, никто не мешает. А данные из разных таблиц объединяются запросом Да, спасибо, сделаю как JaDi посоветовал! А вот вопрос, если одним запросом, и планирую его загрузить в cxDBTreeList сделаю Union all между запросами, но ведь ID у полученных записей будут уже не уникальные, как здесь быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 13:41:48 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnetDimaBrПравильно, выводи, никто не мешает. А данные из разных таблиц объединяются запросом Да, спасибо, сделаю как JaDi посоветовал! А вот вопрос, если одним запросом, и планирую его загрузить в cxDBTreeList сделаю Union all между запросами, но ведь ID у полученных записей будут уже не уникальные, как здесь быть? Придётся делать суррогатный суррогатный ключ. Например: 2000000345 - это ID=345 из второго запроса, а 4000012378 - это ID=12378 из четвёртого запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 13:56:02 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
zeon11wsnetпропущено... Да, спасибо, сделаю как JaDi посоветовал! А вот вопрос, если одним запросом, и планирую его загрузить в cxDBTreeList сделаю Union all между запросами, но ведь ID у полученных записей будут уже не уникальные, как здесь быть? Придётся делать суррогатный суррогатный ключ. Например: 2000000345 - это ID=345 из второго запроса, а 4000012378 - это ID=12378 из четвёртого запроса Это реально на практике применяется сейчас? Не считается ошибкой проектирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 14:33:08 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
а почему бы не использовать Virtual Tree View ? Корень грузит отделы верхнего уровня и рассовывает их по ветвям верхнего уровня. Те ветви - грузят отделы второго уровня и создают ветви второго уровня. И так далее, до отдельных сотрудников. И не нужно один запрос использовать и грузить сразу всех сотрудников в память. Можно честно использовать разные запросы. Можно будет даже в одном отделе содержать и под-отделы, и сотрудников напрямую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 14:38:19 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
Попутно вопрос такой, как получить число всех записей в cxGrid, наивным образом думал, что подойдет Код: pascal 1. Но показывает только отфильтрованные записи... Неужели только запросом? Или фильтр перед получением деактивировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 15:40:53 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnetzeon11пропущено... Придётся делать суррогатный суррогатный ключ. Например: 2000000345 - это ID=345 из второго запроса, а 4000012378 - это ID=12378 из четвёртого запроса Это реально на практике применяется сейчас? Не считается ошибкой проектирования? Не надо так (по крайне мере в этом случае). Ключи потом могут резко скакнуть по какой-то причине и всё, кирдык придет, причем глюки тяжело будет отловить. Лично я использую для объединения плюс и минус (например, id отдела с минусом, id сотрудников с плюсом -- плюс отдельные колонки с реальными ID и типом записи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 15:50:48 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
JaDiwsnetпропущено... Это реально на практике применяется сейчас? Не считается ошибкой проектирования? Не надо так (по крайне мере в этом случае). Ключи потом могут резко скакнуть по какой-то причине и всё, кирдык придет, причем глюки тяжело будет отловить. Лично я использую для объединения плюс и минус (например, id отдела с минусом, id сотрудников с плюсом -- плюс отдельные колонки с реальными ID и типом записи). JaDi, не очень понял как будет выглядеть объединенный запрос в Вашем случаи, к примеру имеем: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Так что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 17:16:12 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnet, Если там уже GUID используются, то о повторении можно не беспокоиться -- они должны быть уникальны в рамках одной базы. Если это обычный числовой ID (о чем и речь выше начали), то можно типа такого запроса: Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 17:27:49 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
JaDi, опутно вопрос такой, как получить число всех записей в cxGrid, наивным образом думал, что подойдет AView.DataController.DataSet.RecordCount; Но показывает только отфильтрованные записи... Неужели только запросом? Или фильтр перед получением деактивировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 19:10:06 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnet, Это надо смотреть у компонентов датасета. Грид же тут ни причем -- к нему уже отфильтрованные данные попадают (если речь идет про фильтр у датасета). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 19:21:34 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
wsnetzeon11пропущено... Придётся делать суррогатный суррогатный ключ. Например: 2000000345 - это ID=345 из второго запроса, а 4000012378 - это ID=12378 из четвёртого запроса Это реально на практике применяется сейчас? Не считается ошибкой проектирования? У меня знакомый подобным образом деревья строит. Да, при перемещении ветвей приходится дофига данных апдейтить, но он все давно отладил и вообще гордится разработанной системой, хоть кол на голове теши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 23:13:42 |
|
||
|
Вывод древовидной структуры
|
|||
|---|---|---|---|
|
#18+
чччДwsnetпропущено... Это реально на практике применяется сейчас? Не считается ошибкой проектирования? У меня знакомый подобным образом деревья строит. Да, при перемещении ветвей приходится дофига данных апдейтить, но он все давно отладил и вообще гордится разработанной системой, хоть кол на голове теши.В теории update = insert + delete . По идее, такое легко провернуть локально, не затрагивая сервер. На сервере, ясен пень, такие игры с ключами легко не пройдут. Это даже в теории разъясняется, почему нельзя играть с индексными ключами. _______________ "Не считается ошибкой проектирования?" imho Нет (поправьте) QNRegionIDPlaceIDLocalIDLongID 2003452000000345 400123784000012378...9998707101099987071010 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2017, 23:44:30 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39524762&tid=2041807]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
447ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 798ms |

| 0 / 0 |
