zoukankan      html  css  js  c++  java
  • 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;
                                }                            
                            }
                        }
                    }           
                                   
                }
            }
  • 相关阅读:
    JSTL基础知识
    EL表达式基础知识
    Log4Net使用详解
    ViewState存储到服务器
    WCF通信过程
    值类型与引用类型总结
    使用 HttpWebRequest 发送模拟 POST 请求
    OOP组合和继续的优缺点
    XPath在asp.net中查询XML
    Equal 和==比较
  • 原文地址:https://www.cnblogs.com/SunXiaoLin/p/3391090.html
Copyright © 2011-2022 走看看