Strona 1 z 1

Jak dodać nod typu "any" w TreeControl

: śr kwie 10, 2013 10:10 am
autor: JackK
Hej.
W dokumentacji http://www.openoffice.org/api/docs/comm ... Model.html pisze, iż pierwszy parametr metody createNode o nazwie DisplayValue może być dowolnego typu, który jednak da się skonwertować na string. Gdziekolwiek znalazłem przykłady wykorzystania createNode, wszędzie jednak pierwszym parametrem był string. Nie wierzę, że TreeControl jest tak ograniczony, iż w nodach nie da się zapamiętać żadnych informacji.
Czy mógłby mi ktoś podać przykład, jak można w DisplayValue wstawić 3-elementową tablicę stringów?
Potrzebuję to do tego, iż w każdym nodzie w drzewku, chciałbym mieć jeszcze jakieś dodatkowe informacje możliwe do odczytania, a nie tylko wyświetlaną nazwę w nodzie.
Chodzi mi o przykład w BASIC-u.

Z góry dziękuję.

Re: Jak dodać nod typu "any" w TreeControl

: pt kwie 12, 2013 11:44 pm
autor: mg2
Do drzewa trzeba dodać etykietę a dane przechowywać oddzielnie. Deklarujemy własny typ danych.

Kod: Zaznacz cały

type t
   label as string
   i as integer
   s as string
   a(2) as string
end type
Deklarujemy obiekty tego typu

Kod: Zaznacz cały

o1 as new t
lub

Kod: Zaznacz cały

o1 as object
o1 = createObject("t")
Wypełniamy pola.

Kod: Zaznacz cały

o1.label = "o1"
o1.s = "s"
o1.a(0) = "a0"
o1.a(1) = "a1"
Wstawiamy etykietę obiektu (o1.lablel) do drzewa i równolegle wstawiamy obiekt do kolekcji.

Kod: Zaznacz cały

c as new collection
c.add(o1, "o1")
W przypadku odczytu bierzemy etykietę z drzewa i przy jej użyciu bierzemy obiekt z kolekcji.

Kod: Zaznacz cały

otmp = c.item("o1")
msgbox(otmp.label)
msgbox(otmp.a(0))

Kod: Zaznacz cały

type t
   label as string
   i as integer
   s as string
   a(2) as string
end type

sub main
   dim o1 as new t
   'dim o1 as object
   'o1 = createObject("t")

   o1.label = "o1"
   o1.s = "s"
   o1.a(0) = "a0"
   o1.a(1) = "a1"

   dim c as new collection
   c.add(o1, "o1")

   otmp = c.item("o1")
   msgbox(otmp.label)
   msgbox(otmp.a(0))
end sub

Re: Jak dodać nod typu "any" w TreeControl

: śr kwie 17, 2013 10:29 am
autor: JackK
Dzięki, mg2