(继续资源库小程序中UltraWebTree的使用方法,上一篇是利用数据库来填充UltraWebTree )
功能要求:当我点击UltraWebTree中子节点时,需要获取该节点所有父节点内容,这样我就能获得该子节点下文件的目录路径了。
外加功能:点击节点,其下所有文件显示在UltraWebGrid列表中,其所有目录路径也保存在一个列表中。
表结构在文章利用数据库来填充UltraWebTree 中说明了。
UltraWebTree节点点击事件代码:
1
private
void
UltraWebTree1_NodeClicked(
object
sender, Infragistics.WebUI.UltraWebNavigator.WebTreeNodeEventArgs e)
2
{
3
DataTable dnodechild = Query.ProcessSql("SELECT fname FROM files where fcid='"+ int.Parse(e.Node.DataKey.ToString()) + "'",GlobalVar.DBName);
4
DataColumn roothide = new DataColumn("RootText");
5
//
6
string nodetext="";
7
Infragistics.WebUI.UltraWebNavigator.Node node = e.Node;
8
do
9
{
10
nodetext = node.Text +"//"+ nodetext;
11
node = node.Parent;
12
}
13
while (node != null);
14
roothide.DefaultValue = nodetext;
15
//
16
dnodechild.Columns.Add(roothide);
17
this.UltraWebGrid1.Dispose();
18
this.UltraWebGrid1.DataSource = dnodechild;
19
this.UltraWebGrid1.DataBind();
20
dnodechild.Dispose();
21
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

Query.ProcessSql 是用了听棠的SPL持久层,GlobalVar.DBName是数据名
用到了Infragistics另一个UltraWebGrid控件,UltraWebGrid控件中有2列,分别是RootText,fname。