• Repeater 合并单元格


    前途页面:

     <asp:Repeater ID="rptList" runat="server" OnPreRender="rptList_PreRender">
                    <ItemTemplate>
                    <tr>
                        <td align="center" runat="server" id="Num">
                            <%#Eval("Num")%>
                        </td>
                        <td align="center" runat="server" id="ProClassification">
                            <%#Eval("ProClassification")%>
                        </td>
                        <td align="center" runat="server" id="ProName">
                            <%#Eval("ItemName")%>
                        </td>
                        <td align="center" runat="server" id="Unit">
                            <%#Eval("Unit")%>
                        </td>
                        <td align="center" runat="server" id="Quantity">
                            <%#Eval("Quantity")%>
                        </td>
                    </tr>
                    </ItemTemplate>
                </asp:Repeater>

    注意点:

    1)绑定Repeater控件的OnPreRender方法

    2)td单元格添加runat="server"和id属性

    后台页面:
      

            protected void rptList_PreRender(object sender, EventArgs e)
            {
                string[] IDs = { "Num", "ProClassification", "ProName", "Unit", "Quantity" };
                for (int i = rptList.Items.Count - 1; i > 0; i--)
                {
                    for (int j = 0; j < IDs.Length; j++)
                    {
                        //IDs[j]是需要合并列的列名
                        HtmlTableCell oCell_previous = rptList.Items[i - 1].FindControl(IDs[j]) as HtmlTableCell;
                        HtmlTableCell oCell = rptList.Items[i].FindControl(IDs[j]) as HtmlTableCell;
                        if (oCell_previous != null && oCell != null)
                        {
                            oCell.RowSpan = (oCell.RowSpan == -1) ? 1 : oCell.RowSpan;
                            oCell_previous.RowSpan = (oCell_previous.RowSpan == -1) ? 1 : oCell_previous.RowSpan;
    
                            if (oCell.InnerText == oCell_previous.InnerText)
                            {
                                if (oCell.InnerText.Trim()!="")//空单元格不执行合并操作
                                {
                                    oCell.Visible = false;
                                    oCell_previous.RowSpan += oCell.RowSpan;
                                }                            
                            }
                        }
                    }           
                                   
                }
            }
  • 相关阅读:
    php 框架选择
    转:从框架看PHP的五种境界及各自的薪资待遇(仅限于二三线城市,一线除外)
    百度云怎样提升下载速度
    .net体系与java体系
    绘制3D的js库
    Canvas游戏计算机图形教程
    Unity Manual 用户手册
    在windows系统下安装oracle 11g
    Three.js学习笔记
    php面试题之二——数据结构和算法(高级部分)
  • 原文地址:https://www.cnblogs.com/SunXiaoLin/p/3391090.html
Copyright © 2020-2023  润新知