Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. такой вот кусок кода, выдаёт ошибку "OLE IDispatch exception code 0 from Nodes: Element not found..." Подскажите пожалуйста, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:37 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
Ну, так я не понял, у тебя такое большое количество опечаток или так и должно быть? -) Объявил и используешь переменную Key_, а присваиваешь значение переменной lcNewKey. Естесственно, выполнение .Nodes.Add(,,Key_,Alltrim(contents.nickname)) даст ошибку, поскольку Key_=.F. -) Где операция создания узла со значением ключа ind (lcNewKey)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 14:50 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
У меня точно такая же ошибка выдается на строчке помеченной *** Я смотрю Debuggerом Значения parenid="10_", id="45_", name корректные !!! уже голову сломала не пойму в чем дело SELECT tmpTreeView SCAN IF ALLTRIM(parentid) = '0_' o.ADD(,1,ALLTRIM(id),ALLTRIM(name),0) ELSE *** o.ADD(ALLTRIM(parentid),4,ALLTRIM(id), ALLTRIM(name),0) ENDIF ENDSCAN Пример я взяла из http://www.foxclub.ru/sol/index.php?act=view&id=436 Как только заношу дочерние узлы, для родителя с кодом "10_" возникает эта ошибка. Все проверяла верно. из-за чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2005, 12:18 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
"Не все йогурты одинаково полезны" Это я в том смысле, что нельзя слепо копировать код из примеров. Он вполне может содержать ошибку. В данном случае, значение ключа узла должно начинаться с символа, отличного от цифры. Т.е. ключи надо формировать примерно так: parenid="_10_", id="_45_" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2005, 12:31 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
В данном случае, значение ключа узла должно начинаться с символа, отличного от цифры. Т.е. ключи надо формировать примерно так: parenid="_10_", id="_45_"[/quot] А почему такиое ограничения? С чем это связано? Я смотрела пример в Solution про TreeView там тоже ключи начинались с цифры. А пример я просто разбирала, т.к. хочу узнать про treeview и использовать его в дальнейшем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2005, 23:06 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
Nimka ВладимирМВ данном случае, значение ключа узла должно начинаться с символа, отличного от цифры. Т.е. ключи надо формировать примерно так: parenid="_10_", id="_45_" А почему такиое ограничения? С чем это связано? Я смотрела пример в Solution про TreeView там тоже ключи начинались с цифры. А пример я просто разбирала, т.к. хочу узнать про treeview и использовать его в дальнейшем Это связано с особенностями передачи параметров в ActiveX-компоненты. Если значение ключа начинается с цифры, то, при определенных обстоятельствах (каких - не вполне ясно) происходит автоматическая конвертация символьной строки в число. Т.е. в числовой тип данных. А значение Key узла не может принимать числовые данные. Отсюда сообщение об ошибке. Об объекте TreeView более подробно можно почитать здесь http://kodu.neti.ee/~juri4/vfpplus/ax_treeview_faq_01_ru.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2005, 23:18 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
SELECT station.idcod, station.parentid, station.nametext; FROM station; WHERE station.folder = .T.; ORDER BY station.parentid ; INTO CURSOR tmpTreeView o = THISFORM.oleTree.Nodes o.Clear SELECT tmpTreeView SCAN IF ALLTRIM(parentid) = '_0_' o.ADD(,1,ALLTRIM(idcod),ALLTRIM(nametext),0) ELSE o.ADD(ALLTRIM(parentid),4,ALLTRIM(idcod), ALLTRIM(nametext),0) ENDIF ENDSCAN USE IF !EMPTY(tmpTreeView) SELECT tmpTreeView Endif Я уже все перепробовала, оставила только этот код при загрузке формы, и все равно ошибка повторяется о том что Элемент не найден. Хотя idcod и parentid начинаются не с цифры а имеют такой вид _1_, _2_, _3_ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 09:01 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
Глянь тут http://www.caws.atnet.ru/vfox/vfoxpro1.html. Может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 10:05 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
NimkaSELECT ... ORDER BY station.parentid ... o = THISFORM.oleTree.Nodes o.Clear SELECT tmpTreeView SCAN IF ALLTRIM(parentid) = '_0_' o.ADD(,1,ALLTRIM(idcod),ALLTRIM(nametext),0) ELSE o.ADD(ALLTRIM(parentid),4,ALLTRIM(idcod), ALLTRIM(nametext),0) ENDIF ENDSCAN ... Я уже все перепробовала, оставила только этот код при загрузке формы, и все равно ошибка повторяется о том что Элемент не найден. Хотя idcod и parentid начинаются не с цифры а имеют такой вид _1_, _2_, _3_ Проблема именно в способе отбора записей. Вот это самое ORDER BY station.parentid Представь себе, что у тебя есть такие записи station.parentidstation.idcod_0__3__2__1__3__2_ С точки зрения структуры дерева все абсолютно корректно. Ветка имеет вид: Код: plaintext 1. 2. 3. Но с точки зрения твоего кода - это ошибка, поскольку при построении второго узла будет предпринята попытка сослаться на несуществующего родителя (_2_). В общем случае невозможно корректно выстроить записи таблицы, чтобы построить дерево за один проход. Точнее, это можно сделать, если ввести дополнительные поля сортировки. В твоей структуре подобная задача решается только через рекурсию. А вообще-то, никто не строит сразу все дерево. Это слишком долгий процесс. Обычно строят только первый уровень с фиктивнымми узлами и в момент раскрытия узла достраивают следующий уровень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 10:49 |
|
||
|
Опять treeview
|
|||
|---|---|---|---|
|
#18+
ВладимирМА вообще-то, никто не строит сразу все дерево. Это слишком долгий процесс. Обычно строят только первый уровень с фиктивнымми узлами и в момент раскрытия узла достраивают следующий уровень. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2005, 11:04 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1594438]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
59ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 374ms |

| 0 / 0 |
