今天在开发遇到一个问题,需求三层嵌套,于是根据孟子的两层嵌套加折叠的基础上,增加为三层嵌套!
下面为效果图:

下面为效果图:

1
protectedvoidPage_Load(objectsender,EventArgse)
2

{
3
if(!IsPostBack)
4

{
5
BindParent();
6
}
7
}
8
9
privatevoidBindParent()
10

{
11
stringsql="select*fromPageLinkwherePID=0orderbyIDdesc";
12
DataSetds=Iwoak.ExecSQL.ExecuteDataset(sql);
13
gvParent.DataSource=ds.Tables[0].DefaultView;
14
gvParent.DataBind();
15
}
16
17
18
protectedvoidgvParent_RowDataBound(objectsender,GridViewRowEventArgse)
19

{
20
if(e.Row.RowType==DataControlRowType.DataRow)
21

{
22
GridViewgvChild=(GridView)e.Row.FindControl("gvChild");
23
LabellblID=(Label)e.Row.FindControl("lblID");
24
stringsql="select*fromPageLinkwherePID="+lblID.Text;
25
DataSetds=Iwoak.ExecSQL.ExecuteDataset(sql);
26
gvChild.DataSource=ds.Tables[0].DefaultView;
27
gvChild.RowDataBound+=newGridViewRowEventHandler(gvChild_RowDataBound);
28
gvChild.DataBind();
29
}
30
}
31
32
33
protectedvoidgvChild_RowDataBound(objectsender,GridViewRowEventArgse)
34

{
35
if(e.Row.RowType==DataControlRowType.DataRow)
36

{
37
GridViewgvlink=(GridView)e.Row.FindControl("gvlink");
38
LabellblID=(Label)e.Row.FindControl("lbl_ID");
39
stringsql="select*fromPageLinkwherePID="+lblID.Text;
40
DataSetds=Iwoak.ExecSQL.ExecuteDataset(sql);
41
gvlink.DataSource=ds.Tables[0].DefaultView;
42
gvlink.DataBind();
43
}
44
}

2



3

4



5

6

7

8

9

10



11

12

13

14

15

16

17

18

19



20

21



22

23

24

25

26

27

28

29

30

31

32

33

34



35

36



37

38

39

40

41

42

43

44

1
<headrunat="server">
2
<title>内嵌页链接--列表页面</title>
3
<scripttype="text/javascript"language="javascript">
4
functionShowHidden(sid,ev)
5

{
6
ev=ev||window.event;
7
vartarget=ev.target||ev.srcElement;
8
varoDiv=document.getElementById("div"+sid);
9
oDiv.style.display=oDiv.style.display=="none"?"block":"none";
10
target.title=oDiv.style.display=="none"?"显示":"隐藏";
11
varimgid='img'+sid;
12
document.getElementById(imgid).src=oDiv.style.display=="none"?"../CommonFiles/images/open.gif":"../CommonFiles/images/close1.gif";
13
}
14
</script>
15
</head>
16
<body>
17
<formid="form1"runat="server">
18
19
<asp:GridViewID="gvParent"runat="server"Width="100%"AutoGenerateColumns="False"
20
EmptyDataText='<fontcolor="red"class="GridViewItem">没有找到相关数据!</font>'
21
OnRowDataBound="gvParent_RowDataBound">
22
<EmptyDataRowStyleHorizontalAlign="Center"/>
23
<HeaderStyleForeColor="White"HorizontalAlign="Center"CssClass="GridViewHeader"/>
24
<PagerSettingsVisible="False"/>
25
<Columns>
26
<asp:TemplateFieldHeaderText="名称">
27
<itemtemplate>
28
<Aid='<%#Eval("ID")%>'onclick="ShowHidden('<%
#Eval("id")%>',event)"href="#">
29
<IMGstyle="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px"id='img<%#Eval("ID")%>'
30
alt="展开/折叠"src="../CommonFiles/images/close1.gif"/><%
#Eval("name")%></A>
31
<asp:LabelID="lblID"runat="server"Text='<%#Eval("id")%>'style="display:none;"></asp:Label>
32
<divid="div<%#Eval("ID")%>">
33
<asp:GridViewid="gvChild"runat="server"OnRowDataBound="gvChild_RowDataBound"CssClass="inputAwoke"Width="95%"AutoGenerateColumns="False"ShowHeader="False"BorderWidth="0px"HorizontalAlign="Center">
34
<Columns>
35
<asp:TemplateField>
36
<itemtemplate>
37
<Aid='<%#Eval("ID")%>'onclick="ShowHidden('<%
#Eval("id")%>',event)"href="#">
38
<IMGstyle="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px"id='img<%#Eval("ID")%>'
39
alt="展开/折叠"src="../CommonFiles/images/close1.gif"/><%
#Eval("name")%></A>
40
<asp:LabelID="lbl_ID"runat="server"Text='<%#Eval("id")%>'style="display:none;"></asp:Label>
41
<divid="div<%#Eval("ID")%>">
42
<asp:GridViewid="gvlink"runat="server"CssClass="inputAwoke"Width="92%"AutoGenerateColumns="False"
43
ShowHeader="False"BorderWidth="0px"HorizontalAlign="Center">
44
<EmptyDataRowStyleHorizontalAlign="Center"/>
45
<HeaderStyleForeColor="White"HorizontalAlign="Center"CssClass="GridViewHeader"/>
46
<PagerSettingsVisible="False"/>
47
<Columns>
48
<asp:TemplateField>
49
<itemtemplate>
50
<ahref="<%#Eval("UrlPath")%>"target="_blank"><%
#Eval("name")%></a>
51
</itemtemplate>
52
<ItemStyleCssClass="GridViewItem"/>
53
</asp:TemplateField>
54
</Columns>
55
</asp:GridView>
56
57
</div>
58
</itemtemplate>
59
<ItemStyleCssClass="GridViewItem"/>
60
</asp:TemplateField>
61
</Columns>
62
63
</asp:GridView>
64
</div>
65
</itemtemplate>
66
<ItemStyleCssClass="GridViewItem"/>
67
</asp:TemplateField>
68
69
</Columns>
70
</asp:GridView>
71
72
</form>
73
</body>

2

3



4

5



6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28



29

30



31

32

33

34

35

36

37



38

39



40

41

42

43

44

45

46

47

48

49

50



51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73
