|
|
|
Visual FoxPro и TreeControl
|
|||
|---|---|---|---|
|
#18+
Есть три справочника: справочник групп, групп второго уровня и справочник объектов. Все таблицы связаны. При помощи трёх гридов ситуация решается элементарно. Хотелось бы объединить два первых или все три в TreeControl. Возникает две проблемы: 1. Обновление информации в реальных таблицах можно провести только построчным сравнением дерева и таблиц 2. Т.к. контрол не связан с реальными таблицами возникают проблемы с реляцией (текущий елемент контрола не связан с реальной записью в таблице) Сделать это всё можно но получается не очень красиво, а лишние seek сказываются на быстродействии. Кто с этой проблемой уже сталкивался? И есть ли у кого красивые решения этой проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2006, 19:36 |
|
||
|
Visual FoxPro и TreeControl
|
|||
|---|---|---|---|
|
#18+
1. Вовсе не обязательно, если в таблицах качестве первичных ключей используются синтетические ключи, которые одновременно использовались в качестве ключей узлов при заполнении таблицы. У узлов дерева имеется свойство tag, в котором можно хранить имена таблиц. Кроме того, у дерева имеется два события - BeforeLabelEdit и AfterLaAbelEdit, Если в процедурном коде первого события сохранить значение Text узла в переменную, то в процедурном коде второго события можно определить - изменялось ли значение текста и произвести соответствующее обновление таблицы. Это справедливо для изменения текста, а реляция сохранится, поскольку значения ключа не изменяется. Для других операциях на узлах можно использовать соответствующие события и свойства узлов. Никогда не говори "невозможно", просто попробуй сделать иначе! JS (at FoxClub) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2006, 21:02 |
|
||
|
Visual FoxPro и TreeControl
|
|||
|---|---|---|---|
|
#18+
Hi vetalsoft! > Сделать это всё можно но получается не очень красиво Ну не знаю, помоему всё там вполне красиво, несмотря на то что действительно "руками" всё нужно делать. Кстати править прямо в дереве - это наверное не самый хороший вариант - вынеси правку в текстбоксы, а дерево используй только для навигации - конечно после правки меняй текст текущего узла в дереве, а при перемещении по дереву проверяй - сбросились ли данные из текстбоксов в "подлежащий" курсор. Для случая с 3-мя таблицами может помочь 3-страничный PageFrame (можно без Tab-ов - т.е. без ярлычков листов) - на каждом листе контролы привязанные к своей таблице - ну а код в NodeClick определяет какую из вкладок активировать при переходе к заданному узлу. > а лишние seek сказываются на быстродействии Честно говоря не понял... Ты думаешь что при работе в гриде не происходит перемещения указателя записи? Вот работа в гриде это и есть посточнный перемещения по таблице - и хорошо если эта таблица маленькая (скажем результат выборки), или работает оптимизация (а для грида это возможно лишь начиная с VFP9 - до того грид+фильтр это было смерти подобно). Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2006, 00:34 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=264&tid=1591932]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
57ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 312ms |

| 0 / 0 |
