在Repeater控件中嵌套一个Repeater控件
做销售报表的页面
C#代码,没给全,BaseControl,页面基类
想要的朋友联系我.因为时间紧代码写得有点杂.
1<table style="BORDER-TOP: #42adf1 1px outset" cellSpacing="1" cellPadding="1" width="100%" align="center" border="0">
3 <tr>
4 <td class="column" width="5%" height="20"></td>
5 <td class="column" nowrap width="30%">cell</td>
6 <td class="column" nowrap width="30%">cell</td>
7 <td class="column" nowrap width="20%">cell<td>
8 <td class="column" nowrap width="20%">cell</td>
9 </tr>
10 <script runat="server">
11 int l = 1;
12 </script>
13 <asp:repeater id="repeaterCollection" runat="server">
14 <ItemTemplate>
15 <asp:Literal ID ="NoneResource" Runat=server></asp:Literal>
16 <tr class="f2">
17 <td align="right"> <%=l++%>
18 . </td>
19 <td nowrap height="20">
20 <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
21 <TR>
22 <TD align="left" width="90%" nowrap><%#DataBinder.Eval(Container.DataItem,"city")%></TD>
23 <TD align=right nowrap><a onmousedown="AreaDetailsOnOff('AreaDetails<%=l%>')" style="cursor:hand"> »»</a></td>
24 </TR>
25 </TABLE>
26 </TD>
27 <td nowrap>
28 <%#DataBinder.Eval(Container.DataItem,"name")%>
29 </td>
30 <td nowrap>
31 <%# SalesReport.GetProductSalesTotalNum(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
32 </td>
33 <td nowrap>
34 <%# SalesReport.GetProductSalesWorth(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
35 <%# SalesReport.SetDealerID(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
36 </td>
37 </tr>
38 <tr class="f2">
39 <td></td>
40 <td colspan=4 height=1>
41 <DIV id="AreaDetails<%=l%>" style="DISPLAY: none;">
42 <table cellSpacing="1" cellPadding="0" border=0 width="100%" align=center class="tableBorder">
43 <tr>
44 <td class="child" width="5%" height="12"></td>
45 <td class="child" nowrap width="25%"> cell</td>
46 <td class="child" nowrap width="22%"> cell</td>
47 <td class="child" nowrap width="22%"> cell</td>
48 <td class="child" nowrap width="22%"> cell</td>
49 </tr>
50 <script language=C# runat=server>
51 int i = 1;
52 </script>
53 <CT:MyRepeater id="myRepeater" runat="server">
54 <ItemTemplate>
55 <asp:Literal ID ="nonetotalprod" Runat=server></asp:Literal>
56 <tr class="f2">
57 <td> <%= i++ %>. </td>
58 <td nowrap height="2">
59 <%#DataBinder.Eval(Container.DataItem,"PName")%></a></td>
60 <td nowrap>
61 <%#DataBinder.Eval(Container.DataItem,"quantity")%>
62 </td>
63 <td nowrap>
64 <%#DataBinder.Eval(Container.DataItem,"UnitPrice")%>
65 </td>
66 <td nowrap>
67 <%#SalesSchemeTrack.SetTotalPrice(DataBinder.Eval(Container.DataItem,"quantity").ToString(),DataBinder.Eval(Container.DataItem,"UnitPrice").ToString(),DataBinder.Eval(Container.DataItem,"DiscPercent").ToString())%>
68 </td>
69 </tr>
70 </ItemTemplate>
71 </CT:MyRepeater>
72 </table>
73 </div>
74 </td>
75 </tr>
76 </ItemTemplate>
77 </asp:repeater>
78 <tr class="f2">
79 <td align="right" colSpan="9">
80 <TABLE class="tableborder" cellSpacing="0" cellPadding="0" border="0">
81 <TR>
82 <TD><asp:label id="pageindex" runat="server" CssClass="pageIndex"></asp:label></TD>
83 </TR>
84 </TABLE>
85 </td>
86 </tr>
87 </table>
88 </TD>
89 </TR>
90 </table>
91 </td>
92 </tr>
93 </TABLE>
<script language=""javascript>
function AreaDetailsOnOff (menuName) {
menu = document.getElementById(menuName);
3 <tr>
4 <td class="column" width="5%" height="20"></td>
5 <td class="column" nowrap width="30%">cell</td>
6 <td class="column" nowrap width="30%">cell</td>
7 <td class="column" nowrap width="20%">cell<td>
8 <td class="column" nowrap width="20%">cell</td>
9 </tr>
10 <script runat="server">
11 int l = 1;
12 </script>
13 <asp:repeater id="repeaterCollection" runat="server">
14 <ItemTemplate>
15 <asp:Literal ID ="NoneResource" Runat=server></asp:Literal>
16 <tr class="f2">
17 <td align="right"> <%=l++%>
18 . </td>
19 <td nowrap height="20">
20 <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">
21 <TR>
22 <TD align="left" width="90%" nowrap><%#DataBinder.Eval(Container.DataItem,"city")%></TD>
23 <TD align=right nowrap><a onmousedown="AreaDetailsOnOff('AreaDetails<%=l%>')" style="cursor:hand"> »»</a></td>
24 </TR>
25 </TABLE>
26 </TD>
27 <td nowrap>
28 <%#DataBinder.Eval(Container.DataItem,"name")%>
29 </td>
30 <td nowrap>
31 <%# SalesReport.GetProductSalesTotalNum(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
32 </td>
33 <td nowrap>
34 <%# SalesReport.GetProductSalesWorth(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
35 <%# SalesReport.SetDealerID(DataBinder.Eval(Container.DataItem,"DealerID").ToString())%>
36 </td>
37 </tr>
38 <tr class="f2">
39 <td></td>
40 <td colspan=4 height=1>
41 <DIV id="AreaDetails<%=l%>" style="DISPLAY: none;">
42 <table cellSpacing="1" cellPadding="0" border=0 width="100%" align=center class="tableBorder">
43 <tr>
44 <td class="child" width="5%" height="12"></td>
45 <td class="child" nowrap width="25%"> cell</td>
46 <td class="child" nowrap width="22%"> cell</td>
47 <td class="child" nowrap width="22%"> cell</td>
48 <td class="child" nowrap width="22%"> cell</td>
49 </tr>
50 <script language=C# runat=server>
51 int i = 1;
52 </script>
53 <CT:MyRepeater id="myRepeater" runat="server">
54 <ItemTemplate>
55 <asp:Literal ID ="nonetotalprod" Runat=server></asp:Literal>
56 <tr class="f2">
57 <td> <%= i++ %>. </td>
58 <td nowrap height="2">
59 <%#DataBinder.Eval(Container.DataItem,"PName")%></a></td>
60 <td nowrap>
61 <%#DataBinder.Eval(Container.DataItem,"quantity")%>
62 </td>
63 <td nowrap>
64 <%#DataBinder.Eval(Container.DataItem,"UnitPrice")%>
65 </td>
66 <td nowrap>
67 <%#SalesSchemeTrack.SetTotalPrice(DataBinder.Eval(Container.DataItem,"quantity").ToString(),DataBinder.Eval(Container.DataItem,"UnitPrice").ToString(),DataBinder.Eval(Container.DataItem,"DiscPercent").ToString())%>
68 </td>
69 </tr>
70 </ItemTemplate>
71 </CT:MyRepeater>
72 </table>
73 </div>
74 </td>
75 </tr>
76 </ItemTemplate>
77 </asp:repeater>
78 <tr class="f2">
79 <td align="right" colSpan="9">
80 <TABLE class="tableborder" cellSpacing="0" cellPadding="0" border="0">
81 <TR>
82 <TD><asp:label id="pageindex" runat="server" CssClass="pageIndex"></asp:label></TD>
83 </TR>
84 </TABLE>
85 </td>
86 </tr>
87 </table>
88 </TD>
89 </TR>
90 </table>
91 </td>
92 </tr>
93 </TABLE>
<script language=""javascript>
function AreaDetailsOnOff (menuName) {
menu = document.getElementById(menuName);
if (menu.style.display == 'none') {
menu.style.display = 'block';
} else {
menu.style.display = 'none';
}
menu.style.display = 'block';
} else {
menu.style.display = 'none';
}
}
</script>
</script>
C#代码,没给全,BaseControl,页面基类
想要的朋友联系我.因为时间紧代码写得有点杂.
1using System;
2using System.Web;
3using System.Web.UI;
4using System.Web.UI.WebControls;
5using System.Web.UI.Design;
6using System.Web.UI.HtmlControls;
7using System.Collections;
8using Jessup.Framework;
9using Jessup.UI.WebControls;
10using Jessup.Enumeration;
11using System.Web.Security;
12
13namespace Jessup.UI.Controls
14{
15 /// <summary>
16 /// SalesDataColletion 地区总销售报告。
17 /// </summary>
18
19 [ParseChildren(true)]
20 public class SalesReport : BaseControl
21 {
22 #region 成员变量,构造函数
23 Repeater repeaterCollection;
24 Label pageindex;
25 Literal NoneResource;
26
27// int dealerID = 0;
28 string skinFileName = "SalesReport.ascx";
29 string pageStr = "";
30 static string nonesource="<tr class=\"f2\"><td colspan=\"9\" align=\"center\" height=\"40\">{0}</td></tr>";
31
32 public SalesReport()
33 {
34 if(base.SkinFilename == null)
35 base.SkinFilename = this.skinFileName;
36 }
37
38 public static string SetDealerID(string did)
39 {
40 PageContext pageContext = PageContext.Current;
41 pageContext.DealerID = Format.StringToInt(did);
42// MyRepeater myRep = new MyRepeater();
43// myRep.DealerID = Format.StringToInt(did);
44 return "";
45 }
46
47 #endregion
48
49 #region 初始化控件
50 override protected void InitializeSkin(Control skin)
51 {
52 PageContext pageContext = PageContext.Current;
53 if((int)Identifier.UserSession.Role < (int)UserRole.Employee)
54 {
55 Identifier.CheckUserIdentifier((int)UserRole.Employee,pageContext.Context.Request.Path,true);
56 }
57
58 //Repeater控件绑定
59 repeaterCollection = (Repeater) skin.FindControl("repeaterCollection");
60 BindingRepeater();
61
62 pageindex = (Label) skin.FindControl("pageindex");
63 NoneResource= (Literal)skin.FindControl("NoneResource");
64 pageindex.Text = PageString;
65
66 }
67 #endregion
68
69 #region Repeater控件绑定
70 private void BindingRepeater()
71 {
72 try
73 {
74 PagedDataSource dataSource = new PagedDataSource();
75 dataSource.DataSource = Products.GetSalesProductSchemeTotal().Tables[0].DefaultView;
76 if(dataSource.DataSourceCount == 0)
77 {
78 NoneResource.Text = string.Format(nonesource,Globals.GetString("NoneSource"));
79 return;
80 }
//分页.
81 PageString = Globals.AllowPageString(dataSource,5);
82 repeaterCollection.DataSource = dataSource;
83 repeaterCollection.DataBind();
84 }
85 catch(Exception e)
86 {
87 throw new Exception("Can't connection Database.<br>" + e.ToString());
88 }
89 }
90 #endregion
91
92 public static string GetProductSalesTotalNum(string dealerid)
93 {
94 int did = Format.StringToInt(dealerid);
95 string salesTotalNum = Products.GetSalesTotalNum(did);
96 return salesTotalNum;
97 }
98
99 public static string GetProductSalesWorth(string dealerid)
100 {
101 int did = Format.StringToInt(dealerid);
102 string salesTotalNum = Products.GetSalesTotalValue(did);
103 return salesTotalNum;
104
105 }
106 //分页字符串
107 public string PageString
108 {
109 get { return pageStr;}
110 set { pageStr= value;}
111 }
112
113 }
114}
115
2using System.Web;
3using System.Web.UI;
4using System.Web.UI.WebControls;
5using System.Web.UI.Design;
6using System.Web.UI.HtmlControls;
7using System.Collections;
8using Jessup.Framework;
9using Jessup.UI.WebControls;
10using Jessup.Enumeration;
11using System.Web.Security;
12
13namespace Jessup.UI.Controls
14{
15 /// <summary>
16 /// SalesDataColletion 地区总销售报告。
17 /// </summary>
18
19 [ParseChildren(true)]
20 public class SalesReport : BaseControl
21 {
22 #region 成员变量,构造函数
23 Repeater repeaterCollection;
24 Label pageindex;
25 Literal NoneResource;
26
27// int dealerID = 0;
28 string skinFileName = "SalesReport.ascx";
29 string pageStr = "";
30 static string nonesource="<tr class=\"f2\"><td colspan=\"9\" align=\"center\" height=\"40\">{0}</td></tr>";
31
32 public SalesReport()
33 {
34 if(base.SkinFilename == null)
35 base.SkinFilename = this.skinFileName;
36 }
37
38 public static string SetDealerID(string did)
39 {
40 PageContext pageContext = PageContext.Current;
41 pageContext.DealerID = Format.StringToInt(did);
42// MyRepeater myRep = new MyRepeater();
43// myRep.DealerID = Format.StringToInt(did);
44 return "";
45 }
46
47 #endregion
48
49 #region 初始化控件
50 override protected void InitializeSkin(Control skin)
51 {
52 PageContext pageContext = PageContext.Current;
53 if((int)Identifier.UserSession.Role < (int)UserRole.Employee)
54 {
55 Identifier.CheckUserIdentifier((int)UserRole.Employee,pageContext.Context.Request.Path,true);
56 }
57
58 //Repeater控件绑定
59 repeaterCollection = (Repeater) skin.FindControl("repeaterCollection");
60 BindingRepeater();
61
62 pageindex = (Label) skin.FindControl("pageindex");
63 NoneResource= (Literal)skin.FindControl("NoneResource");
64 pageindex.Text = PageString;
65
66 }
67 #endregion
68
69 #region Repeater控件绑定
70 private void BindingRepeater()
71 {
72 try
73 {
74 PagedDataSource dataSource = new PagedDataSource();
75 dataSource.DataSource = Products.GetSalesProductSchemeTotal().Tables[0].DefaultView;
76 if(dataSource.DataSourceCount == 0)
77 {
78 NoneResource.Text = string.Format(nonesource,Globals.GetString("NoneSource"));
79 return;
80 }
//分页.
81 PageString = Globals.AllowPageString(dataSource,5);
82 repeaterCollection.DataSource = dataSource;
83 repeaterCollection.DataBind();
84 }
85 catch(Exception e)
86 {
87 throw new Exception("Can't connection Database.<br>" + e.ToString());
88 }
89 }
90 #endregion
91
92 public static string GetProductSalesTotalNum(string dealerid)
93 {
94 int did = Format.StringToInt(dealerid);
95 string salesTotalNum = Products.GetSalesTotalNum(did);
96 return salesTotalNum;
97 }
98
99 public static string GetProductSalesWorth(string dealerid)
100 {
101 int did = Format.StringToInt(dealerid);
102 string salesTotalNum = Products.GetSalesTotalValue(did);
103 return salesTotalNum;
104
105 }
106 //分页字符串
107 public string PageString
108 {
109 get { return pageStr;}
110 set { pageStr= value;}
111 }
112
113 }
114}
115
MyRepeater 重载Repeater控件
1using System;
2using System.Web;
3using System.Web.UI;
4using System.Web.UI.WebControls;
5using System.Web.UI.Design;
6using System.Web.UI.HtmlControls;
7using System.Collections;
8using Jessup.Framework;
9using Jessup.UI.WebControls;
10using Jessup.Enumeration;
11using System.Web.Security;
12
13namespace Jessup.UI.Controls
14{
15 /// <summary>
16 /// MyRepeater 重载Repeater控件。
17 /// </summary>
18
19 [ParseChildren(true)]
20 public class MyRepeater : Repeater
21 {
22 int DealerID;
//PageContext: 页面上下文,获取查询ID
23 PageContext pageContext = PageContext.Current;
24 public MyRepeater()
25 {
26 DealerID = pageContext.DealerID;
27 }
28
29// public int DealerID
30// {
31// get { return this.dealerid; }
32// set { dealerid = value; }
33// }
34 protected override void CreateChildControls()
35 {
36 try
37 {
38 DealerID = pageContext.DealerID;
39 if(this.DealerID > 0)
40 {//取得数据源
41 this.DataSource = Products.GetSalesProductScheme(DealerID);
42 this.DataBind();
43 }
44 }
45 catch(Exception e)
46 {
47 throw new Exception("Can't connection Database.<br>" + e.ToString());
48 }
49
50 }
51 }
52}
53
2using System.Web;
3using System.Web.UI;
4using System.Web.UI.WebControls;
5using System.Web.UI.Design;
6using System.Web.UI.HtmlControls;
7using System.Collections;
8using Jessup.Framework;
9using Jessup.UI.WebControls;
10using Jessup.Enumeration;
11using System.Web.Security;
12
13namespace Jessup.UI.Controls
14{
15 /// <summary>
16 /// MyRepeater 重载Repeater控件。
17 /// </summary>
18
19 [ParseChildren(true)]
20 public class MyRepeater : Repeater
21 {
22 int DealerID;
//PageContext: 页面上下文,获取查询ID
23 PageContext pageContext = PageContext.Current;
24 public MyRepeater()
25 {
26 DealerID = pageContext.DealerID;
27 }
28
29// public int DealerID
30// {
31// get { return this.dealerid; }
32// set { dealerid = value; }
33// }
34 protected override void CreateChildControls()
35 {
36 try
37 {
38 DealerID = pageContext.DealerID;
39 if(this.DealerID > 0)
40 {//取得数据源
41 this.DataSource = Products.GetSalesProductScheme(DealerID);
42 this.DataBind();
43 }
44 }
45 catch(Exception e)
46 {
47 throw new Exception("Can't connection Database.<br>" + e.ToString());
48 }
49
50 }
51 }
52}
53