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

2021/11/8 11:10:23

本文主要是介绍C# Repeater数据绑定分组,合并单元格(只合并一列相同值),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 <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



这篇关于C# Repeater数据绑定分组,合并单元格(只合并一列相同值)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程