前途页面:

 <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 - ; i > ; i--)
{
for (int j = ; j < IDs.Length; j++)
{
//IDs[j]是需要合并列的列名
HtmlTableCell oCell_previous = rptList.Items[i - ].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 == -) ? : oCell.RowSpan;
oCell_previous.RowSpan = (oCell_previous.RowSpan == -) ? : oCell_previous.RowSpan; if (oCell.InnerText == oCell_previous.InnerText)
{
if (oCell.InnerText.Trim()!="")//空单元格不执行合并操作
{
oCell.Visible = false;
oCell_previous.RowSpan += oCell.RowSpan;
}
}
}
} }
}

Repeater 合并单元格的更多相关文章

  1. Repeater多列分别合并单元格

    GridView.Repeater合并单元格可以参考http://www.cnblogs.com/zhmore/archive/2009/04/22/1440979.html,但是原文例子是合并一列的 ...

  2. .Net用字符串拼接实现表格数据相同时合并单元格

    前言 最近在做项目通过GridView或Repeater绑定数据,如果两行或若干行某列值相同,需要进行合并单元格,但是实现过程中想到了字符串拼接,于是就没用绑定数据控件,而是用了html结合字符串实现 ...

  3. C# 获取Excel中的合并单元格

    C# 获取Excel中的合并单元格 我们在制作表格时,有时经常需要合并及取消合并一些单元格.在取消合并单元格时需要逐个查找及取消,比较麻烦.这里分享一个简单的方法来识别Excel中的合并单元格,识别这 ...

  4. jquery操作表格 合并单元格

    jquery操作table,合并单元格,合并相同的行 合并的方法 $("#tableid").mergeCell({ cols:[X,X] ///参数为要合并的列}) /** * ...

  5. NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析

    我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...

  6. poi获取合并单元格内的第一行第一列的值

    当读取如图所示的excel时,显示为第1行 第1列 的内容是:合并单元格 其它在合并单元格区域内的单元格不显示 示例代码如下: import java.io.FileInputStream; impo ...

  7. Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行

    Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行 模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2 图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单 ...

  8. easyui datagrid 合并单元格

    整理以前做的东西,这个合并单元格的问题再新浪博客也写过了..... 下面这段代码是列表数据 //载入排放系数管理报表数据 function LoadEmissionReportData() { //获 ...

  9. GRIDVIEW多行多列合并单元格(合并列)

    GitHub项目地址:https://github.com/mingceng/merge-gridviewcell 去年的时候,我写了两篇文章:  GridView多行多列合并单元格(完整代码和例子) ...

随机推荐

  1. python操作mongodb之七时间和时区

    #时间和时区 import datetime db.test.insert_one({"datetime-datetime-utcnow":datetime.datetime.ut ...

  2. android UI库

    https://github.com/wasabeef/awesome-android-ui List of Android UI/UX Libraries A curated list of awe ...

  3. IEnumerable接口的实现

    对象要实现可以迭代需IEnumerable接口并实现GetEnumerator方法.一下简单例子 public class SPEnumerable<T> : IEnumerable { ...

  4. 为什么在非UI线程中操作UI的改变失不安全的

    因为你如果允许在非UI线程更新操作UI的东西,那我再另一个非UI线程也可以更新这个Ui的东西 这样就会有冲突,比如你的线程刚好跑到修改UI这里,我的另一个UI也有可能跑到这里,所以这样导致线程不安全. ...

  5. C#压缩加密和vb压缩加密

    string[] FileProperties = new string[2]; FileProperties[0] = "C:\\a\\";//待压缩文件目录 FilePrope ...

  6. URL和搜索引擎优化

    URL要短:谷歌的算法是给5个以后的单词更少的权重 URL不含和少含问号:防止死循环 小写字母:搜索引擎遵守HTTP规范,区分大小写.

  7. GridView列的排序功能

    首先要给GridView设置三个属性 GridView4.AllowSorting = true; GridView4.Attributes.Add("SortExpression" ...

  8. 15个让人惊讶的 CSS3 动画效果演示

    CSS 是网页设计非常重要的一部分,随着越来越多的浏览器对 CSS3 支持的不断完善,设计师和开发者们有了更多的选择.如今,用纯 CSS 就可以实现各种各样很酷的效果,甚至是动画. 本文收集了15个惊 ...

  9. dll和ocx比较

    ActiveX,OLE是基于COM的一种应用,其文件后缀一般以dll和ocx结尾:ocx作为一种特殊的dll文件,具有一定的用户界面和事件响应,而dll文件只是方法和属性的集合. 一.关于DLL的介绍 ...

  10. <context:annotation-config> 和 <context:component-scan>的差别

    <context:annotation-config> is used to activate annotations in beans already registered in the ...