Using DataWindow information to populate a TreeView – PB Docs 2019

Using
DataWindow information to populate a TreeView

A useful implementation of the TreeView control is to populate it
with information that you retrieve from a DataWindow. To do this your
application must:

  • Declare and instantiate a DataStore and assign a DataWindow
    object

  • Retrieve information as needed

  • Use the retrieved information to populate the TreeView

  • Destroy the DataStore instance when you have finished

Because a TreeView can display different types of information at
different levels, you will probably define additional DataWindows, one for
each level. Those DataWindows usually refer to different but related
tables. When an item is expanded, the item becomes a retrieval argument
for getting child items.

Populating the first level

This example populates a TreeView with a list of composers. The
second level of the TreeView displays music by each composer. In the
database there are two tables: composer names and music titles (with
composer name as a foreign key).

This example declares two DataStore instance variables for the
window containing the TreeView control:

This example uses the TreeView control’s Constructor event
to:

  • Instantiate the DataStore

  • Associate it with a DataWindow and retrieve information

  • Use the retrieved data to populate the root level of the
    TreeView:

Populating the second level

When the user expands a root level item, the ItemPopulate event
occurs. This script for the event:

  • Instantiates a second DataStore

    Its DataWindow uses the composer name as a retrieval argument
    for the music titles table.

  • Inserts music titles as child items for the selected
    composer

    The handle argument of ItemPopulate will be the parent of the
    new items:

Destroying DataStore
instances

When the window containing the TreeView control closes, this example
destroys the DataStore instances:


Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x