repeater 完全取代gridveiw 指定类型绑定 分页,隔行样式,css,合并单元格
2009-09-09 17:14
399 查看
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<asp:Repeater ID="RepReport" runat="server" OnItemDataBound="RepReport_ItemDataBound"
OnItemCreated="RepReport_ItemCreated">
<HeaderTemplate>
<table width="100%" border="1" cellspacing="0" cellpadding="0" class="GridViewStyle">
<tr class="HeaderStyle">
<td>
序号</td>
<td>
工号</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="<%#RptItemStyle%>">
<td>
<asp:Label ID="lblIndex" runat="server"></asp:Label></td>
<td>
<%#Info["WorkNo"] %>
</td>
</tr>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<table style="margin: 0 auto;">
<tr>
<td>
<div style="float: left; margin-left: 50px;">
总共<asp:Label ID="lblAllCount" runat="server" Text="0" ForeColor="Red"></asp:Label>个记录</div>
</td>
<td>
<div class="pagerShowDiv">
<webdiyer:AspNetPager ID="AspNetPager" CssClass="AspNetPageStyle" runat="server"
AlwaysShow="True" PageSize="1" OnPageChanging="AspNetPager1_PageChanging" FirstPageText="首页"
LastPageText="尾页" NextPageText="下一页" PagingButtonSpacing="" PrevPageText="上一页"
ScrollBars="Auto" ShowPageIndexBox="Never">
</webdiyer:AspNetPager>
</div>
</td>
</tr>
</table>
后台
protected DataRowView Info = null; //用于指字类型进行数据绑定
public string RptItemStyle; //设置隔行样式
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager.CurrentPageIndex = e.NewPageIndex;
SearchData();
}
protected void RepReport_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemIndex % 2 == 0) //设置隔行样式
{
RptItemStyle = "RowStyle";
}
else
{
RptItemStyle = "AltRowStyle";
}
}
protected void RepReport_ItemCreated(object sender, RepeaterItemEventArgs e)
{
Info = e.Item.DataItem as DataRowView;//用于指字类型进行数据绑定
}
protected void RepReport_PreRender(object sender, EventArgs e)
{
//合并 单元格
if (RepReport.Items.Count > 0)
{
double dbeverageScort = 0;
if (RepReport.Items.Count > 1)
{
for (int intIndex = 0; intIndex < RepReport.Items.Count; intIndex++)
{
Label lblScort = (Label)RepReport.Items[intIndex].FindControl("lblScort");
dbeverageScort += double.Parse(lblScort.Text);
}
HtmlTableCell oCell_previous = RepReport.Items[0].FindControl("tdEvergeName") as HtmlTableCell;
oCell_previous.RowSpan = RepReport.Items.Count;
oCell_previous.InnerText = (dbeverageScort / RepReport.Items.Count).ToString("F2");
for (int intIndex = 1; intIndex < RepReport.Items.Count; intIndex++)
{
//删除后面几行的最后一个单元格
HtmlTableCell oCell = RepReport.Items[intIndex].FindControl("tdEvergeName") as HtmlTableCell;
oCell.Visible = false;
}
}
else
{
Label lblScort = (Label)RepReport.Items[0].FindControl("lblScort");
dbeverageScort = double.Parse(lblScort.Text); ;
HtmlTableCell oCell_previous = RepReport.Items[0].FindControl("tdEvergeName") as HtmlTableCell;
oCell_previous.InnerText = dbeverageScort.ToString("F2");
}
}
}
<asp:Repeater ID="RepReport" runat="server" OnItemDataBound="RepReport_ItemDataBound"
OnItemCreated="RepReport_ItemCreated">
<HeaderTemplate>
<table width="100%" border="1" cellspacing="0" cellpadding="0" class="GridViewStyle">
<tr class="HeaderStyle">
<td>
序号</td>
<td>
工号</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="<%#RptItemStyle%>">
<td>
<asp:Label ID="lblIndex" runat="server"></asp:Label></td>
<td>
<%#Info["WorkNo"] %>
</td>
</tr>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<table style="margin: 0 auto;">
<tr>
<td>
<div style="float: left; margin-left: 50px;">
总共<asp:Label ID="lblAllCount" runat="server" Text="0" ForeColor="Red"></asp:Label>个记录</div>
</td>
<td>
<div class="pagerShowDiv">
<webdiyer:AspNetPager ID="AspNetPager" CssClass="AspNetPageStyle" runat="server"
AlwaysShow="True" PageSize="1" OnPageChanging="AspNetPager1_PageChanging" FirstPageText="首页"
LastPageText="尾页" NextPageText="下一页" PagingButtonSpacing="" PrevPageText="上一页"
ScrollBars="Auto" ShowPageIndexBox="Never">
</webdiyer:AspNetPager>
</div>
</td>
</tr>
</table>
后台
protected DataRowView Info = null; //用于指字类型进行数据绑定
public string RptItemStyle; //设置隔行样式
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
AspNetPager.CurrentPageIndex = e.NewPageIndex;
SearchData();
}
protected void RepReport_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemIndex % 2 == 0) //设置隔行样式
{
RptItemStyle = "RowStyle";
}
else
{
RptItemStyle = "AltRowStyle";
}
}
protected void RepReport_ItemCreated(object sender, RepeaterItemEventArgs e)
{
Info = e.Item.DataItem as DataRowView;//用于指字类型进行数据绑定
}
protected void RepReport_PreRender(object sender, EventArgs e)
{
//合并 单元格
if (RepReport.Items.Count > 0)
{
double dbeverageScort = 0;
if (RepReport.Items.Count > 1)
{
for (int intIndex = 0; intIndex < RepReport.Items.Count; intIndex++)
{
Label lblScort = (Label)RepReport.Items[intIndex].FindControl("lblScort");
dbeverageScort += double.Parse(lblScort.Text);
}
HtmlTableCell oCell_previous = RepReport.Items[0].FindControl("tdEvergeName") as HtmlTableCell;
oCell_previous.RowSpan = RepReport.Items.Count;
oCell_previous.InnerText = (dbeverageScort / RepReport.Items.Count).ToString("F2");
for (int intIndex = 1; intIndex < RepReport.Items.Count; intIndex++)
{
//删除后面几行的最后一个单元格
HtmlTableCell oCell = RepReport.Items[intIndex].FindControl("tdEvergeName") as HtmlTableCell;
oCell.Visible = false;
}
}
else
{
Label lblScort = (Label)RepReport.Items[0].FindControl("lblScort");
dbeverageScort = double.Parse(lblScort.Text); ;
HtmlTableCell oCell_previous = RepReport.Items[0].FindControl("tdEvergeName") as HtmlTableCell;
oCell_previous.InnerText = dbeverageScort.ToString("F2");
}
}
}
相关文章推荐
- repeater的手写代码绑定,实现分页和嵌套
- CSS分别设置Input样式(按input类型)
- 用CSS指定外部链接的样式
- CSS 所有的列表样式类型
- 在Repeater控件中通过Eval的方式绑定Style样式代码
- css基础 交集选择器 为指定标记中的指定的class添加样式
- 百度分页样式代码 css+c#
- <input type="file">定义样式并获取上传文件路径及指定文件类型
- 利用css给奇数行或偶数行添加指定样式
- 绑定Repeater控件的通用方法(包括分页事件)
- Web编程前端之4:css+div多样式可定制完美分页全攻略
- datalist,repeater等绑定控件的分页代码
- .Net通用分页类(存储过程分页版,完全自定义显示样式,包括中英显示)
- Repeater,ItemDataBound事件,获取绑定列的值,给指定列添加js方法
- 用CSS指定外部链接的样式
- css分页样式代码
- 在Repeater控件中通过Eval的方式绑定Style样式代码
- 【前端】CSS基础01-样式类型
- ASP.NET Repeater绑定数据并实现分页
- Repeater控件绑定数据、分页、数据操作,最佳代码