ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# Repeater数据绑定分组,合并单元格(只合并一列相同值)

2021-11-08 11:02:03  阅读:297  来源: 互联网

标签:RowSpan Repeater cellPrev 合并 cell repeater model tdName1 单元格


 <asp:Repeater ID="rpList" runat="server">
            <ItemTemplate>
                <tr align="center">
                    <td runat="server" id="td1">
                        <%#Eval("typename")%>
                    </td>
                    <td>
                        <%#Eval("workname")%>
                    </td>
                    <td>
                        <%#Eval("number")%>
                    </td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>

 #region 数据绑定
        /// <summary>
        /// 数据绑定
        /// </summary>
        private void DataInforBind()
        {
            ServiceWorkEntity model = new ServiceWorkEntity();
            model.Year = Convert.ToInt32(year);
            model.WorkType = worktype;
            model.Reviews = reviews;
            model.Month =  Convert.ToInt32(month);
            ProjectEntity project = new ProjectEntity();
            project.ProType = protype;
            DataSet ds = ServiceWorkBLL.StaByMonthGet(model, project);
            this.rpList.DataSource = ds.Tables[0].DefaultView;
            this.rpList.DataBind();
            MergeCell(rpList, "td1");

        }
        #endregion

        #region Repeater多列分别合并单元格
        /// <summary>
        /// 选择行
        /// </summary>
        /// <param name="tdName1"></param>
        /// <param name="tdName2"></param>
        private void MergeCell(Repeater repeater, string tdName1)
        {
            for (int i = repeater.Items.Count-1; i > 0; i--)
            {
                MergeCellSet(repeater, tdName1, i);
            }
        }

        /// <summary>
        /// 多列分别合并单元格
        /// </summary>
        /// <param name="tdName1"></param>
        /// <param name="tdName2"></param>
        /// <param name="i"></param>
        private void MergeCellSet(Repeater repeater, string tdName1, int i)
        {
            HtmlTableCell cellPrev = repeater.Items[i - 1].FindControl(tdName1) as HtmlTableCell;
            HtmlTableCell cell = repeater.Items[i].FindControl(tdName1) as HtmlTableCell;
            cell.RowSpan = (cell.RowSpan == -1) ? 1 : cell.RowSpan;
            cellPrev.RowSpan = (cellPrev.RowSpan == -1) ? 1 : cellPrev.RowSpan;
            if (cell.InnerText == cellPrev.InnerText)
            {
                cell.Visible = false;
                cellPrev.RowSpan += cell.RowSpan;
            }
        }
        #endregion

标签:RowSpan,Repeater,cellPrev,合并,cell,repeater,model,tdName1,单元格
来源: https://blog.csdn.net/qq_33903684/article/details/51500017

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有