惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
V
Visual Studio Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
Hugging Face - Blog
Hugging Face - Blog
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
博客园 - 【当耐特】
B
Blog
Stack Overflow Blog
Stack Overflow Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
GbyAI
GbyAI
博客园 - 司徒正美
博客园 - 叶小钗
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 叶子绿了

freemarker显示含有html代码的内容 .net sql 防注入 httpmodule [转载]poi导出excel,可以自定义保存路径 jquery ajax 传递js对象到后台 Struts2下多文件的上传与下载 dwr框架 Oracle 9i中包含Connect by 子句的查询向Oracle 10g移植后运行时错误及解决方法 JQuery Uploadify 基于JSP的无刷新上传实例 写了个用jquery控制select只读(select选项可以供用户查看但不能改变初始选中值) C#之模态窗口关闭 在Web站点中创建和使用Rss源(动态) silverlight xml查询 silverlight 3 数据绑定及分页 解决ASP.NET中Image控件不能自动刷新 解决UpdatePanel无法直接弹出窗口的问题 导入Excel数值读不到,找不到可安装的 ISAM错误! asp.net2.0 上传大容量文件第三方控件radupload 浏览器不能正常解析CSS代码的解决 ajax在用户注册中的应用,类似淘宝网
repeater相同行合并
叶子绿了 · 2010-10-29 · via 博客园 - 叶子绿了

代码

<table  width="100%"    id="mytable" >
    
<tr align="center">
      
<th>学号</th><th>姓名</th><th>起止时间</th> <th>学习(或工作)单位</th> <th>职务</th> <th>证明人</th> <th>备注</th>
    
</tr>
    
<asp:Repeater ID="Repeater1" runat="server" onprerender="Repeater1_PreRender">
    
<ItemTemplate>
    
<tr><td id="tdxuehao" runat="server">&nbsp;<%#Eval("xuehao"%></td><td id="tdxsname" runat="server">&nbsp;<%#Eval("xsname")%></td><td>&nbsp;<%#Eval("qzsj")%></td> <td>&nbsp;<%#Eval("grjl")%></td> <td>&nbsp;<%#Eval("zw")%></td> <td>&nbsp;<%#Eval("zmr")%></td> <td>&nbsp;<%#Eval("bz")%></td>
    
</tr>
    
</ItemTemplate>
    
</asp:Repeater>
    
       
</table>

代码

protected void Repeater1_PreRender(object sender, EventArgs e)
        {
            
for (int i = Repeater1.Items.Count - 1; i > 0; i--)
            {
                
//tcid是需要合并列的列名
                HtmlTableCell oCell_previous = Repeater1.Items[i - 1].FindControl("tdxuehao"as HtmlTableCell;
                HtmlTableCell oCell 
= Repeater1.Items[i].FindControl("tdxuehao"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)
                    {
                        oCell.Visible 
= false;
                        oCell_previous.RowSpan 
+= oCell.RowSpan;
                    }
                }

                HtmlTableCell nameprevious 

= Repeater1.Items[i - 1].FindControl("tdxsname"as HtmlTableCell;
                HtmlTableCell name 
= Repeater1.Items[i].FindControl("tdxsname"as HtmlTableCell;
                
if (nameprevious != null && name != null)
                {
                    name.RowSpan 
= (name.RowSpan == -1? 1 : name.RowSpan;
                    nameprevious.RowSpan 
= (nameprevious.RowSpan == -1? 1 : nameprevious.RowSpan;if (name.InnerText == nameprevious.InnerText)
                    {
                        name.Visible 
= false;
                        nameprevious.RowSpan 
+= name.RowSpan;
                    }
                }
            }

        }