
1 <body> 2 <form id="form1" runat="server"> 3 <div> 4 <asp:ListView ID="LvParentList" runat="server" OnPagePropertiesChanging="LvParentList_PagePropertiesChanging" 5 OnDataBound="LvParentList_DataBound" OnItemDataBound="LvParentList_ItemDataBound"> 6 <LayoutTemplate> 7 <table> 8 <tr class="tab-data"> 9 <th> 10 家长姓名 11 </th> 12 <th> 13 邮件 14 </th> 15 <th> 16 电话 17 </th> 18 <th> 19 手机 20 </th> 21 <th> 22 QQ 23 </th> 24 <th> 25 家庭住址 26 </th> 27 <th> 28 工作地址 29 </th> 30 <th> 31 状态 32 </th> 33 </tr> 34 <div runat="server" id="itemPlaceholder"> 35 </div> 36 </table> 37 </LayoutTemplate> 38 <ItemTemplate> 39 <tr class="parenttr" align="center" onmouseover="this.style.backgroundColor='#e6eaf0';" 40 onmouseout="this.style.backgroundColor='';"> 41 <td class="parentname" style=" 300px;"> 42 <%#Eval("name") %> 43 <asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("pk_parents")%>' /> 44 <div class="panel"> 45 <asp:Repeater ID="Repeater1" runat="server"> 46 <HeaderTemplate> 47 <table id="StudentList" style="border-collapse: collapse" bordercolor="#000000" cellspacing="0" 48 width="280" align="center" bgcolor="#ffffff" border="1"> 49 </HeaderTemplate> 50 <ItemTemplate> 51 <tr> 52 <td> 53 学生姓名 54 </td> 55 <td> 56 <%#Eval("name") %> 57 </td> 58 </tr> 59 <tr> 60 <td> 61 学号 62 </td> 63 <td> 64 <%#Eval("studyNum")%> 65 </td> 66 </tr> 67 <tr> 68 <td> 69 性别 70 </td> 71 <td> 72 <%#Sexstr(Eval("gender"))%> 73 </td> 74 </tr> 75 <tr> 76 <td> 77 年龄 78 </td> 79 <td> 80 <%#Eval("age")+"岁"%> 81 </td> 82 </tr> 83 <tr> 84 <td> 85 所在学校 86 </td> 87 <td> 88 <%#Eval("SN") %> 89 </td> 90 </tr> 91 <tr> 92 <td> 93 年级 94 </td> 95 <td> 96 <%#Eval("GR")%> 97 </td> 98 </tr> 99 <tr> 100 <td> 101 班级 102 </td> 103 <td> 104 <%#Eval("CN")%> 105 </td> 106 </tr> 107 <tr> 108 <td> 109 在线时间 110 </td> 111 <td> 112 <%#Eval("onlineTime")+"分钟"%> 113 </td> 114 </tr> 115 </ItemTemplate> 116 <FooterTemplate> 117 </table> 118 </FooterTemplate> 119 </asp:Repeater> 120 </div> 121 </td> 122 <td> 123 <%#Eval("email")%> 124 </td> 125 <td> 126 <%#Eval("tel")%> 127 </td> 128 <td> 129 <%#Eval("phone")%> 130 </td> 131 <td> 132 <%#Eval("qq")%> 133 </td> 134 <td> 135 <%#Eval("homeAddress")%> 136 </td> 137 <td> 138 <%#Eval("workAddress")%> 139 </td> 140 <td> 141 <%#Eval("status")%> 142 </td> 143 </tr> 144 </ItemTemplate> 145 </asp:ListView> 146 当前第<asp:Label ID="lblPageIndex" runat="server" Text="0"></asp:Label>页:共<asp:Label 147 ID="lblPageCount" runat="server" Text="0"></asp:Label>页<br /> 148 <asp:DataPager ID="DataPager1" runat="server" PagedControlID="LvParentList" PageSize="15"> 149 <Fields> 150 <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowLastPageButton="True" /> 151 </Fields> 152 </asp:DataPager> 153 </div> 154 </form> 155 </body>

1 namespace GoldIdeas.ZN.BasicProject.Manager.ManagerParent 2 { 3 public partial class ParentList : System.Web.UI.Page 4 { 5 BllBasicParents parentbll = new BllBasicParents(); 6 protected void Page_Load(object sender, EventArgs e) 7 { 8 if (!IsPostBack) 9 { 10 BindParent(); 11 } 12 } 13 public object Sexstr(object s) 14 { 15 if (s != null && Convert.ToString(s) == "1") 16 { 17 return "男"; 18 } 19 else if(s!=null&&Convert.ToString(s)=="2") 20 { 21 return "女"; 22 } 23 return "性别错误"; 24 } 25 //ListView绑定值 26 private void BindParent() 27 { 28 LvParentList.DataSource = parentbll.GetParentList(string.Empty); 29 LvParentList.DataBind(); 30 } 31 //分页 32 protected void LvParentList_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e) 33 { 34 DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false); 35 BindParent(); 36 } 37 //显示当前页和总页数 38 protected void LvParentList_DataBound(object sender, EventArgs e) 39 { 40 lblPageIndex.Text = (DataPager1.StartRowIndex / DataPager1.MaximumRows + 1).ToString(); 41 lblPageCount.Text = Math.Ceiling(Convert.ToDouble(DataPager1.TotalRowCount / DataPager1.PageSize)).ToString(); 42 } 43 //在ListView的ItemDataBound事件里找出Repeater并绑定值。 44 protected void LvParentList_ItemDataBound(object sender, ListViewItemEventArgs e) 45 { 46 if (e.Item.ItemType == ListViewItemType.DataItem) 47 { 48 //隐藏域的值 49 HiddenField hf = (HiddenField)e.Item.FindControl("HiddenField1"); 50 ((Repeater)e.Item.FindControl("Repeater1")).DataSource = new Bll.BllBasicStudent().GetModelDtailByParentId(hf.Value); 51 ((Repeater)e.Item.FindControl("Repeater1")).DataBind(); 52 } 53 } 54 } 55 }

1 /// <summary> 2 /// 根据家长id获取学生详细信息 3 /// 绑定的时候sch.schoolName as SN,直接<%#Eval("SN") %> 4 /// </summary> 5 /// <param name="pk_parent"></param> 6 /// <returns></returns> 7 public DataTable GetModelDtailByParentId(string pk_parent) 8 { 9 string sql = string.Format(@" select name,gender,age,sch.schoolName as SN,gra.grade as GR,cla.className as CN,studyNum,onlineTime 10 from [Exam].[dbo].[tb_basic_students] stu 11 left join tb_basic_school sch on stu.pk_school=sch.pk_school 12 left join tb_que_Grade gra on stu.pk_grade=gra.pk_grade 13 left join tb_que_class cla on stu.pk_class=cla.classUID 14 where stu.pk_student 15 in(select pk_student FROM [Exam].[dbo].[tb_basic_ParentAndStudent] where pk_parent='{0}')", pk_parent); 16 return DbHelper.ExecuteDataset(sql).Tables[0]; 17 }

1 <style type="text/css"> 2 td.parentname 3 { 4 margin: 0px; 5 padding: 5px; 6 text-align: center; 7 background: #e5eecc; 8 border: solid 1px #c3c3c3; 9 } 10 div.panel 11 { 12 margin: 0px; 13 padding: 5px; 14 text-align: left; 15 background: #e5eecc; 16 border: solid 1px #c3c3c3; 17 } 18 div.panel 19 { 20 height: auto; 21 width: auto; 22 display: none; 23 } 24 </style> 25 <script type="text/javascript"> 26 $(function () { 27 $(".parentname").click(function () { 28 $(this).find(".panel").slideToggle("slow"); 29 }); 30 });