With this TreeView declaration:
<asp:TreeView ID="Cloner" runat="server"
SelectedNodeStyle-Font-Bold="true" SelectedNodeStyle-ForeColor="#003E21"
OnTreeNodePopulate="PopulateNode" OnSelectedNodeChanged="SelectNode"
ExpandDepth="0">
</asp:TreeView>
Nodes are added in PopulateNode() like so:
protected void PopulateNode(Object source, TreeNodeEventArgs e)
{
TreeNode newNode = null;
switch (e.Node.Depth)
{
case 0:
string locationIdStr = e.Node.Value;
try
{
int locationId = Convert.ToInt32(locationIdStr);
e2006TableAdapters.MenusTableAdapter mta = new e2006TableAdapters.MenusTableAdapter();
mta.FillByLocationId(myDto.Menus, locationId);
foreach (e2006Table.MenusRow menuRow in myDto.Menus)
{
newNode = new TreeNode(menuRow.MenuName, menuRow.MenuId.ToString());
newNode.SelectAction = TreeNodeSelectAction.Expand;
newNode.PopulateOnDemand = true;
e.Node.ChildNodes.Add(newNode);
}
}
catch { }
break;
// etc
And, finally, the leaf nodes are added with this code:
foreach (e2006.MenuItemsRow menuItems in myDto.MenuItems)
{
newNode = new TreeNode(menuItems.Name, menuItems.MenuItemId.ToString());
newNode.SelectAction = TreeNodeSelectAction.Select;
newNode.NavigateUrl = "";
e.Node.ChildNodes.Add(newNode);
}
The question is: WHY doesn't the OnSelectedNodeChanged="SelectNode"
protected void SelectNode(Object source, EventArgs e)
{ // This never fires!!!???!!!
TIA,
geo