Insus.NET有对GridView控件进行横纵分别合并列:
横:《动态横向(水平)合并GridView数据行DataRow的列http://www.cnblogs.com/insus/p/3304562.html
纵:《动态合并GridView数据行DataRow的列http://www.cnblogs.com/insus/p/3238348.html

也有对Repeater控件进行纵合并演示《动态合并Repeater控件数据列http://www.cnblogs.com/insus/p/3240848.html
还差一个对Repeater控件横向对列进行合并的。没有关系的,Insus.NET下面慢慢演示给大家。

就以此篇《动态绑数据(Repeater控件HeaderTemplate和ItemTemplate)http://www.cnblogs.com/insus/p/3307939.html来作演示基础,就是说以它的数据基础上进行。

html markup不变。

而下面的方法:

稍作修改,算是优化了,因为在列合并时,有好几处地方用到此数据源,因此把它放在一个ViewState中,这个它只去数据库获取一次数据即可。

现在是否可以改写OnItemDataBound事件了呢? 没有,因为Repeater跟GridView控件不一样。我们还有写一些程序来处理那些列是连续些字段。先要处理好了,才可以做列合并。

先写一个类别:

还在写另外一个类别:

上面的类,就是为了处理列名它的连续性。记录了列名,开始列索引和列结束索引。
到这些,我们可以改写OnItemDataBound="RepeaterFruit_ItemDataBound"事件了。

第#46至#59行代码是动态生成Repeater Header。
#61行是对DateItem进行处理。
#70行是对数据第一行时合并。如果去除这个判断,就是对所有数据行都合并。
#72至#77是处理相同的列,它的连续性,记录列文本以及列开始索引和列结束索引。
#79至#95是处理合并列。
#98至#103是处理不合并的列。

看看运行的效果:

动态横向(水平)合并Repeater数据行DataItem的列的更多相关文章

  1. 动态横向(水平)合并GridView数据行DataRow的列

    前一段时间,Insus.NET有写过<动态合并GridView数据行DataRow的列>http://www.cnblogs.com/insus/p/3238348.html, 那是纵向( ...

  2. 动态合并GridView数据行DataRow的列

    前段时间,Insus.NET一直在演示GridView控件Header头行或列:<动态变更GridView控件列名>和<动态合并或定制GridView控件Header头某些列> ...

  3. 在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列)

    原文:在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.如果去掉这个临时表中合计为0 ...

  4. ajax异步获取数据后动态向表格中添加数据(行)

    因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...

  5. PyQt(Python+Qt)学习随笔:QTableView中数据行高和列宽的调整方法

    老猿Python博文目录 老猿Python博客地址 一.概述 在QTableView中,除了采取缺省的间隔显示行和列的数据外,还可以通过带调整数据的行高和列宽. 二.列宽调整方法 调整数据行列宽的方法 ...

  6. pandas 7 合并 merge 水平合并,数据会变宽

    pd.merge( df1, df2, on=['key1', 'key2'], left_index=True, right_index=True, how=['left', 'right', 'o ...

  7. 动态合并Repeater控件数据列

    前天Insus.NET实现<动态合并GridView数据行DataRow的列>.今天再玩玩Repeater控件,功能也是动态合并某列栏位.Repeater控件跟GridView控件一样集成 ...

  8. 动态合并Repeater控件数据列 Ver2

    前一版本<动态合并Repeater控件数据列>http://www.cnblogs.com/insus/p/3240848.html .今天Insus.NET重新演示它,为什么? 因为两点 ...

  9. EasyUI-DataGrid多线动态实现选择性合并

    jQuery EasyUI有一个非常易于使用的数据列表控件,这是DataGrid控制.某些背景json格式可以传递给在前景中显示的控制,很强大.只要有时需求须要这样即多行合并,如在列表中假设同样的部门 ...

随机推荐

  1. [转]理解$watch ,$apply 和 $digest --- 理解数据绑定过程

    原文地址:http://angular-tips.com/blog/2013/08/watch-how-the-apply-runs-a-digest/ 注 这篇博文主要是写给新手的,是给那些刚刚开始 ...

  2. CentOS7.2 GitLab部署

    1.使用安装包的方式安装gitlab # vim /etc/yum.repos.d/gitlib.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirr ...

  3. CodeForces 620E:New Year Tree(dfs序+线段树)

    E. New Year Treetime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputout ...

  4. EMIPLIB简介

    EMIPLIB(http://research.edm.uhasselt.be/emiplib)的全称是'EDM Media over IP libray' .EDM是Hasselt Universi ...

  5. install 命令

    install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点.但是,install允许你控制目标文件的属性.inst ...

  6. 深入VR之前 你应该知道VR头显透镜原理

    转自:http://www.gamelook.com.cn/2016/03/246817 要理解虚拟现实头显透镜的工作原理,首先要搞懂眼睛是如何看到事物的. 眼睛瞳孔后有晶状体,也就是眼珠子.眼睛的背 ...

  7. Rails中render和redirect_to的区别

    共同点: render 和redirect_to 都是执行页面跳转,但是,写在这两个方法后面的语句仍然会被执行. 不同: render:简单的页面渲染,可以指定渲染的页面或布局文件,但是不会发出请求, ...

  8. C Primer Plus学习笔记(八)- 函数

    函数简介 函数(function)是完成特定任务的独立程序代码单元 使用函数可以省去编写重复代码的苦差,函数能让程序更加模块化,提高程序代码的可读性,更方便后期修改.完善 #include <s ...

  9. tomcat中间件配置说明

    因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器.目前最新版本是8.0. 方法/步骤   一.tomca ...

  10. Django 学习之---静态文件处理详解

    前言: 1.静态文件是指 网站中的 js, css, 图片,视频等文件 2.静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEB ...