1

Konu: Treeview deki Nodelara Checkbox koymak

Merhabalar,

Treeview menudeki node lara nasil checkbox koyabilirim.
Ve bu koydugum checkbox lar Childlarada etki etsin istiyorum. Yani child node lardaki checkboxlar ayri ayri tiklanabilsin. Ama Root node tiklendiginde ait olan child node larda tiklenebilirmi ? Boyle bir sey yapabilirmiyim?

Selamlar,
Huseyin.

2

Re: Treeview deki Nodelara Checkbox koymak

Huseyin,
Demek istedigin bu mu acaba:

Visual Fox Pro
#define tvwFirst    0

#define tvwLast    1
#define tvwNext    2
#define tvwPrevious    3
#define tvwChild    4
 
public oForm
oForm = createobject('myForm')
oForm.show()
with oForm.Tree
  .left = 10
  .top = 10
  .width = 200
  .height = 200
  .Nodes.add(,tvwFirst,"root0",'Main node 0')
  .Nodes.add(,tvwFirst,"root1",'Main node 1')
  .Nodes.add(,tvwFirst,"root2",'Main node 2')
 
  * Add 2 child nodes to root1
  .Nodes.add('root1',tvwChild,"child11",'Child11')
  .Nodes.add('root1',tvwChild,"child12",'Child12')
 
  *Add a child node to root2
  .Nodes.add('root2',tvwChild,"child23",'Child23')
 
  .Nodes.add('child11',tvwChild,"child113",'child113')
  with .Nodes.add('child113',tvwPrevious,"child112",'child112')
    .Bold=.t.
  endwith
  with .Nodes.add('child112',tvwPrevious,"child111",'child111')
    .Bold = .t.
  endwith
 
  * Later decided to add another 2 nodes to root2
  * Place first before child23
  with .Nodes.add('child23',tvwPrevious,"child22",'Child22')
    .Bold=.t.
    .backcolor = rgb(0,255,255)
  endwith
  * Place next before child22
  with .Nodes.add('child22',tvwPrevious,"child21",'Child21')
    .Bold=.t.
    .forecolor = rgb(192,192,192)
  endwith
 
  for each oNode in .Nodes && Expand all nodes for easy view
    oNode.Expanded = .t.
  endfor
endwith
 
define class myForm as form
  add object Tree as myTreeView
enddefine
 
define class myTreeview as  olecontrol olepublic
  oleclass='MSComCtlLib.TreeCtrl'
 
  procedure init
    with this
      .linestyle = 1
      .font.name = 'Times New Roman'
      .font.size = 10
      .indentation = 5
      .PathSeparator = '\'
      .CheckBoxes = .t.
    endwith
  endproc
 
  procedure NodeCheck
    lparameters node
    llChecked = node.Checked
    this.CheckSubNodes(node, m.llChecked)
  endproc
 
  procedure CheckSubNodes
    lparameters toNode, tlChecked
    local loChildNode
    if toNode.Children > 0
      loChildNode = toNode.child
      do while vartype( loChildNode ) = 'O'
        loChildNode.Checked = m.tlChecked
        this.CheckSubNodes( loChildNode, m.tlChecked )
        loChildNode = loChildNode.next
      enddo
    endif
  endproc
enddefine

3

Re: Treeview deki Nodelara Checkbox koymak

abi aynen budur
Cok tesekkur ederim.

4

Re: Treeview deki Nodelara Checkbox koymak

Arkadaşlar yukarıdaki kodla ilgili bir şey sormak isterim;

1) Eğer mevcut bir formun içinde treeview oluşturmak istersek yukarıdaki kodu nasıl kısaltabiliriz ?(Yukardaki kodda kendisi form oluşturuyor)

2) Örneğin Talepler veri tabanından aşağıdaki verileri çekerek nasıl aşağıdaki şekilde tree view oluşturabiliriz.;
1. talep
   1.1  1ci Teklif Veren Firma
   1.2  2ci Teklif Veren Firma
   1.3  3ci Teklif Veren Firma

2. talep
   2.1  1ci Teklif Veren Firma
   2.2  2ci Teklif Veren Firma
   2.3  3ci Teklif Veren Firma

Şimdiden herkese teşekkürler

5

Re: Treeview deki Nodelara Checkbox koymak

Formunu olustur, TV koy. TV'nin init kodunda ya da bir metodda nodes.add kismi ile TV'yi doldur.

6 Son düzenleyen, burakone (28.12.2007 13:19:27)

Re: Treeview deki Nodelara Checkbox koymak

Çetin Bey Selam

Pardon gülmeyin bana ama TV nedir ?

Saygılarımla,

Burakone

7

Re: Treeview deki Nodelara Checkbox koymak

TreeView'in kısaltması olduğu apaçık belli...

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

8

Re: Treeview deki Nodelara Checkbox koymak

Çok Teşekkürler olecontrol olarak forma ekledim dediğinizi yaptım oldu.