Nope, This.Nodes is a method that returns an object. The SelectedKey is just a string for the index key. If the index key references a non existant node an error occurs. That's my problem. I need to know if the object exists in the collection prior to calling This.Nodes.
>Roi and how about TYPE('This.Nodes[SelectedKey]') This should work.
>
>>Same deal, This.Nodes[SelectedKey] causes and error. I think I just have to catch the error and go from there.
>>
>>>Sorry try this one:
>>>
>>>IF VARTYPE(This.Nodes[SelectedKey]) = 'O'
>>> This.SelectedItem = This.Nodes[SelectedKey]
>>>ENDIF
>>>
>>>>I have a method that rebuilds all the nodes in a treeview.
>>>>
>>>>I save the currently selected node with:
>>>>
SelectedKey = This.SelectedItem.Key
>>>>
>>>>Then I clear all the nodes and rebuild the tree.
>>>>
>>>>Then I want to reselect the Selected item with:
>>>>
This.SelectedItem = This.Nodes[SelectedKey]
>>>>This.SelectedItem.ensurevisible
>>>>
>>>>However sometimes the SelectedKey doesn't exist once the tree is rebuilt. Is there an easy way to determine that? I can't spin through all the keys because I build each branch dynamically as it is expanded. The only thing I've can think of is setting it, catching the error if it doesn't exist, and going on from there.
>>>>
>>>>tia
Roi
'MCP' Visual FoxPro
In Rome, there was a poem.
About a dog, who found two bone.
He lick the one, he lick the other.
He went pyscho, he drop dead!