今天在开发遇到一个问题,需求三层嵌套,于是根据孟子的两层嵌套加折叠的基础上,增加为三层嵌套!
下面为效果图:
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
if (!IsPostBack)
4
{
5
BindParent();
6
}
7
}
8
9
private void BindParent()
10
{
11
string sql = "select * from PageLink where PID=0 order by ID desc";
12
DataSet ds = Iwoak.ExecSQL.ExecuteDataset(sql);
13
gvParent.DataSource = ds.Tables[0].DefaultView;
14
gvParent.DataBind();
15
}
16
17
18
protected void gvParent_RowDataBound(object sender, GridViewRowEventArgs e)
19
{
20
if (e.Row.RowType == DataControlRowType.DataRow)
21
{
22
GridView gvChild = (GridView)e.Row.FindControl("gvChild");
23
Label lblID = (Label)e.Row.FindControl("lblID");
24
string sql = "select * from PageLink where PID=" + lblID.Text;
25
DataSet ds = Iwoak.ExecSQL.ExecuteDataset(sql);
26
gvChild.DataSource = ds.Tables[0].DefaultView;
27
gvChild.RowDataBound += new GridViewRowEventHandler(gvChild_RowDataBound);
28
gvChild.DataBind();
29
}
30
}
31
32
33
protected void gvChild_RowDataBound(object sender, GridViewRowEventArgs e)
34
{
35
if (e.Row.RowType == DataControlRowType.DataRow)
36
{
37
GridView gvlink = (GridView)e.Row.FindControl("gvlink");
38
Label lblID = (Label)e.Row.FindControl("lbl_ID");
39
string sql = "select * from PageLink where PID=" + lblID.Text;
40
DataSet ds = 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
<head runat="server">
2
<title>内嵌页链接--列表页面</title>
3
<script type="text/javascript" language="javascript" >
4
function ShowHidden(sid,ev)
5
{
6
ev = ev || window.event;
7
var target = ev.target || ev.srcElement;
8
var oDiv = document.getElementById("div" + sid);
9
oDiv.style.display = oDiv.style.display == "none"?"block":"none";
10
target.title = oDiv.style.display == "none"?"显示":"隐藏";
11
var imgid='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
<form id="form1" runat="server">
18
19
<asp:GridView ID="gvParent" runat="server" Width="100%" AutoGenerateColumns="False"
20
EmptyDataText='<font color="red" class="GridViewItem" >没有找到相关数据!</font>'
21
OnRowDataBound="gvParent_RowDataBound" >
22
<EmptyDataRowStyle HorizontalAlign="Center" />
23
<HeaderStyle ForeColor="White" HorizontalAlign="Center" CssClass="GridViewHeader" />
24
<PagerSettings Visible="False" />
25
<Columns>
26
<asp:TemplateField HeaderText="名称">
27
<itemtemplate>
28
<A id='<%#Eval("ID") %>' onclick="ShowHidden('<%#Eval("id") %>',event)" href="#">
29
<IMG style="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:Label ID="lblID" runat="server" Text='<%#Eval("id") %>' style="display:none;"></asp:Label>
32
<div id="div<%# Eval("ID")%>" >
33
<asp:GridView id="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
<A id='<%#Eval("ID") %>' onclick="ShowHidden('<%#Eval("id") %>',event)" href="#">
38
<IMG style="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:Label ID="lbl_ID" runat="server" Text='<%#Eval("id") %>' style="display:none;"></asp:Label>
41
<div id="div<%# Eval("ID")%>" >
42
<asp:GridView id="gvlink" runat="server" CssClass="inputAwoke" Width="92%" AutoGenerateColumns="False"
43
ShowHeader="False" BorderWidth="0px" HorizontalAlign="Center">
44
<EmptyDataRowStyle HorizontalAlign="Center" />
45
<HeaderStyle ForeColor="White" HorizontalAlign="Center" CssClass="GridViewHeader" />
46
<PagerSettings Visible="False" />
47
<Columns>
48
<asp:TemplateField>
49
<itemtemplate>
50
<a href="<%# Eval("UrlPath")%>" target="_blank"><%# Eval("name")%></a>
51
</itemtemplate>
52
<ItemStyle CssClass="GridViewItem" />
53
</asp:TemplateField>
54
</Columns>
55
</asp:GridView>
56
57
</div>
58
</itemtemplate>
59
<ItemStyle CssClass="GridViewItem" />
60
</asp:TemplateField>
61
</Columns>
62
63
</asp:GridView>
64
</div>
65
</itemtemplate>
66
<ItemStyle CssClass="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
