1,工作中遇到这样一个需求,页面上要把所有的User加载出来,同时每个User后面紧跟着要把User的任务加载出来!我的处理方法是用Repeater来加载所有的User,同时在Repeater里面嵌套一个GridView,将每个User的任务展示出来!代码如下
前台代码:
1
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
|
<asp:Repeater ID= "Repeater1" runat= "server"
onitemdatabound= "Repeater1_ItemDataBound" >
<HeaderTemplate>
<table border= "0" cellspacing= "0" cellpadding= "0" width= "100%" >
<tr>
</HeaderTemplate>
<ItemTemplate>
<td class = "list_table_in" >
<span class = "leaderTitle" >高管:<a href= '/LeaderSchedule/_layouts/LS/LeaderDetail.aspx?loginName=<%#Eval("LoginName") %>' ><%#Eval( "UserName" ) %></a></span><asp:GridView ID= "gv_InRep" runat= "server" AutoGenerateColumns= "False" AllowSorting= "True"
OnRowCreated= "GV_DoneList_RowCreated" OnSorting= "GV_DoneList_Sorting" AllowPaging= "True"
CssClass= "tasklisttbl" Width= "100%" OnRowDataBound= "GV_DoneList_RowDataBound"
EnableModelValidation= "True" >
<AlternatingRowStyle BackColor= "#FDFEFF" />
<HeaderStyle HorizontalAlign= "Center" ForeColor= "Black" Height= "20" />
<RowStyle HorizontalAlign= "Center" Height= "26px" />
<Columns>
<asp:BoundField HeaderText= "日期" ItemStyle-CssClass= "custom" DataField= "Date" SortExpression= "Date" >
<ItemStyle Width= "15%" />
</asp:BoundField>
<asp:BoundField HeaderText= "时间" DataField= "Time" SortExpression= "Time" >
<ItemStyle Width= "11%" />
</asp:BoundField>
<asp:BoundField HeaderText= "工作安排" DataField= "WorkPlan" SortExpression= "WorkPlan" >
<ItemStyle Width= "11%" />
</asp:BoundField>
<asp:BoundField HeaderText= "地点" DataField= "Place" SortExpression= "Place" >
<ItemStyle Width= "11%" />
</asp:BoundField>
</Columns>
<PagerTemplate>
</PagerTemplate>
</asp:GridView>
</td>
<asp:Literal ID= "Literal1" runat= "server" Text= '<%#Eval("Flag") %>' ></asp:Literal>
</ItemTemplate>
<FooterTemplate>
</tr></table>
</FooterTemplate>
</asp:Repeater>
|
后台代码:
1
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
|
protected void Repeater1_ItemDataBound( object sender, RepeaterItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
GridView gv = e.Item.FindControl( "gv_InRep" ) as GridView; //找到里层的repeater对象
Leader rowv = (Leader)e.Item.DataItem; //找到分类Repeater关联的数据项
string typeid = rowv.LoginName; //获取填充子类的id
SetSorting();
gv.DataSource = PointDataSource(typeid);
gv.DataBind();
}
}
catch (Exception ex)
{
SysLog syslog = new SysLog();
syslog.ListName = ConstData.ListName_PCITC_LS_Schedule;
syslog.LType = "Repeater的Item绑定事件异常" ;
syslog.WorkFlowName = "领导日程管理系统" ;
syslog.Location = "Repeater绑定数据:OtherSchedule.aspx" ;
syslog.Message = "页面信息加载异常:" + ex.Message;
syslog.DataSource = 0;
logprovider.AddAuditRecordToSource(syslog);
}
}
|