Reapter合并行
html文件:
<asp:Repeater ID="rptEmployee" runat="server">
<HeaderTemplate>
<table border="" cellpadding="" cellspacing=""><tr><td>省份</td><td>城市</td></tr>
</HeaderTemplate>
<ItemTemplate>
<tr><td runat="server" id="divProName"><%#Eval("FirstName")%></td><td><%#Eval("LastName")%></td></tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater> 后台文件:
C#版:
private void BindData()
{
this.rptEmployee.DataSource = DBHelper.GetExecuteDataSet("select FirstName,LastName from dbo.Employees group by firstName,LastName", null);
this.rptEmployee.DataBind();
for (int i = this.rptEmployee.Items.Count - ; i > ; i--)
{
HtmlTableCell oCell_pre = this.rptEmployee.Items[i - ].FindControl("divProName") as HtmlTableCell;
HtmlTableCell oCell = rptEmployee.Items[i].FindControl("divProName") as HtmlTableCell;
oCell.RowSpan = oCell.RowSpan == - ? : oCell.RowSpan;
oCell_pre.RowSpan = oCell_pre.RowSpan == - ? : oCell_pre.RowSpan;
if (oCell.InnerHtml==oCell_pre.InnerHtml)
{
oCell.Visible = false;
oCell_pre.RowSpan += oCell.RowSpan;
}
}
}
VB版:
Private Sub BindData()
Me.rptEmployee.DataSource = DBHelper.GetExecuteDataSet("select EmployeeID, LastName, FirstName from Employees order by firstName,EmployeeID desc", Nothing)
Me.rptEmployee.DataBind() For i As Integer = Me.rptEmployee.Items.Count - To Step -
Dim cell_pre, cell As HtmlTableCell
cell_pre = Me.rptEmployee.Items(i - ).FindControl("divProName") '上一行
cell = Me.rptEmployee.Items(i).FindControl("divProName") '当前行 If cell.RowSpan = - Then
cell.RowSpan = '当前行没有合并行,则当行不用合并
Else
cell.RowSpan = cell.RowSpan '当行的合并行,等于当前的已经合并的行数
End If If cell_pre.RowSpan = - Then
cell_pre.RowSpan =
Else
cell_pre.RowSpan = cell_pre.RowSpan
End If If (cell_pre.InnerText = cell.InnerText) Then
cell.Visible = False
cell_pre.RowSpan += cell.RowSpan
End If
Next End Sub
Reapter合并行的更多相关文章
- Vim常用操作-合并行。
刚接触 Vim 会觉得它的学习曲线非常陡峭,要记住很多命令.所以这个系列的分享,不会教你怎么配置它,而是教你怎么快速的使用它. 在开发时为了代码美观,经常会把属性用换行的方式显示. <el-di ...
- easyui生成合并行,合计计算价格
easyui生成合并行,合计计算价格 注:本文来源: 原创 一:图样你效果图 二:代码实现 1:datagrid 列展示: window.dataGrid = $("#dataGrid&qu ...
- sed行处理详解(交换行,合并行,删除行等)
1.合并行 zj@zj:~/Script/blog_script$ cat test11234合并上下两行zj@zj:~/Script/blog_script$ sed '$!N;s/\n/\t/' ...
- 【editplus经常用的快捷键】Editplus 选中一行ctrl+r,Edit 合并行 Ctrl+Shift+J 合并选定行 删除当前行
Editplus 选中一行: ctrl+rEditplus 复制一行: ctrl+r选择行,然后ctrl+c复制.复制一行到下一行中:Editplus有:Ctrl+j 复制上一行的一个字符到当前行Ed ...
- mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ...
- easyui-datagrid自动合并行
1.目标 1.1表格初始化完成后,已经自动合并好需要合并的行: 1.2当点击字段排序后,重新进行合并: 2.实现 2.1 引入插件 /** * author ____′↘夏悸 * create dat ...
- js合并行
网上找了好久才找到,在这记录下. <script type="text/javascript" > function MergerRow(ID) { var tab = ...
- NPOI:处理xls文件中的合并行
/// <summary> /// NPOI根据路径获取文件转换成DataTable /// </summary> /// <param name="FileP ...
- React 合并行 RowSpan
十年河东,十年河西,莫欺少年穷 学无止境,精益求精 今儿分享一篇关于React Table 组件合并单元行的方法! 实例效果如下: 原则就是遇到相同的供方名称,就要做行合并! 思路如下:后端计算合并的 ...
随机推荐
- NGUI 之 不为人知的 NGUITools
static public float soundVolume该属性是全局音效播放音量,按照文档说是用于NGUITools.PlaySound(),那也就意味着我的游戏如果用NGUITools.Pla ...
- 总结-swing、JFrame、JScrollPane、JTabbedPane、JEditorPane
总结-swing.JFrame.JButton.JScrollPane.JLabel.JTabbedPane.JEditorPane 1.JButton内边距(去掉按钮里的空白):setMargin2 ...
- 简单的cc攻击防御
简单的cc攻击防御cckiller 一.下载#wget wget --no-check-certificate https://zhangge.net/wp-content/uploads/files ...
- js中eval() 方法的使用以及一些特殊的使用方式
1.eval方法只能在非严格模式中进行使用,在use strict中是不允许使用这个方法的. 2.eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值 ...
- zepto源码--核心方法(类数组相关)--学习笔记
从这篇起,在没有介绍到各类插件之前,后面将陆续介绍zepto对外暴露的核心方法.即$.fn={}里面的所有方法的介绍.会配合zepto的API进行介绍. 其实前面已经介绍了几个,如width,heig ...
- Wordpress去除管理员工具条
想去掉这条东西有多种方式,个人比较喜欢这个,灵活~ 打开用户,在用户选项里,把这个勾走.
- 基于VirtualBox的多重载入
问题描述 这个问题要追溯到中秋之前,也就是写第一周博客的时候,当时我用的还是虚拟机上的ubuntu:当时我的ubuntu不是最新版,所以有提示升级,你懂的,我升了(因为时间有点久,我先去吃了个饭):等 ...
- Oracle 参数之_small_table_threshold
SQL> select * from v$version; BANNER ------------------------------------------------------------ ...
- 基于docker+etcd+confd + haproxy构建高可用、自发现的web服务
基于docker+etcd+confd + haproxy构建高可用.自发现的web服务 2016-05-16 15:12 595人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主 ...
- Android近场通信---高级NFC(二)
读写NFC标签 读写NFC标签,要涉及到从Intent对象中获取标签,并要打开与标签的通信.要读写NFC标签数据,你必须要定义自己的协议栈.但是,要记住在直接使用NFC标签工作时,你依然能够读写NDE ...