treeview 怎么在拉开节点(部门)的+号就加载相关的(人员)节点

treeview 如何在拉开节点(部门)的+号就加载相关的(人员)节点?
首先已经用常用的第归方式提取了完整的部门结构,现在想点节点时把分属于不同部门的人加进树形成人与部门同级的样子,
现在有3个问题:
1 如何在展开一级节点时提取到该节点的值?
tv_hr_people_TreeNodeExpanded() 事件中:
string a=tv_hr_people.SelectedValue;
运行后提示:
<<<<<<
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
<<<<<
2 用这种方式加载后如何在重复选择展开后不重复加载.
3如何标记后加的人与部门的标识,在选择节点文字后提取相应的值操作。

或者有什么好的思路请教高手。

------解决方案--------------------
同意一楼,我就是这么做的,呵呵!也就是递归函数如果它是LoadChildNodes(...)

那你专门再加一个LoadEmployeeNodes(...)

在递归函数中调用LoadChildNodes(...)之前调用它.