`
pcajax
  • 浏览: 2159253 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

repeater 完全取代gridveiw 指定类型绑定 分页,隔行样式,css,合并单元格

阅读更多
<%@ 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.NET中GridView和Repeater重复数据如何合并

    具体到合并的操作,可以通过CSS来隐藏重复的单元格,也可以通过后台代码逻辑来隐藏或者删除重复单元格,或者直接在前端页面上进行调整。 需要注意的是,合并操作可能会影响数据的准确展示,特别是当表格被用于数据...

    一个基于纯js实现的Data Repeater and Grid装载DataSet的程序例子

    对于数据网格,可能涉及到表格样式的设置,如单元格的边距、颜色、字体大小等,以及分页器的样式设计。 `default.html`是主HTML文件,它可能包含了网页的基本结构,如头部引用的CSS和JavaScript文件,以及用于显示...

    将数据表里需要显示的数据以表格的形式显示在网页上

    6. **样式和交互**:为了提高用户体验,我们可能还需要对表格进行样式定制,使用CSS定义单元格、表头等元素的样式。此外,如果需要用户交互,如编辑、删除数据,可以添加按钮或链接按钮,并处理相关的Click事件。 7...

    asp.net中的GridView自定义分页及可拖动改变列宽代码

    4. 分页控件:自定义分页控件,可以使用Repeater或其他控件动态生成页码链接。 接下来,我们讨论如何实现列宽的拖动功能。这个特性能提升用户体验,让用户根据需要调整列宽。实现这一功能通常需要以下步骤: 1. ...

    ASP.NET程序开发范例宝典(C#)

    #### 第三章:CSS样式与JavaScript应用 - **3.1 CSS样式** - **示例022**:定义基本CSS样式。介绍如何编写CSS规则以美化页面元素。 - **示例023**:页面级CSS样式。演示如何设置整个页面的全局样式。 - **示例...

    asp程序开发范例宝典(光盘原码码)

    2. **数据绑定技术**:ASP中的数据绑定技术,如Repeater、DataList或GridView控件,可以帮助将查询结果动态地呈现到网页上。这些控件能够自动格式化和排序数据,提供排序、分页和筛选功能。 3. **报表设计**:ASP...

    asp.net webform冻结列 冻结表头 复杂表头

    如果数据是动态生成的,我们需要在服务器端创建一个数据源控件(如`GridView`或`Repeater`),并设置其属性来支持冻结列。例如,可以创建两个不同的数据视图,一个用于显示固定列,另一个用于显示可滚动的列。 4. *...

    C#编程经验技巧宝典

    104 &lt;br&gt;0171 如何只允许输入指定图片格式 105 &lt;br&gt;0172 如何设置录入图片统一图片大小 105 &lt;br&gt;5.4 数组处理技巧 105 &lt;br&gt;0173 如何转换数组类型 105 &lt;br&gt;0174 如何复制数组中一系列元素的...

    asp.net控件

    - **功能描述**:Style 控件用于定义CSS样式,可以应用于其他控件。 - **应用场景**:用于统一页面或控件的样式风格。 ##### 24. Table (表格) - **功能描述**:Table 控件用于创建表格布局。 - **应用场景**:用于...

Global site tag (gtag.js) - Google Analytics