动态横向(水平)合并Repeater数据行DataItem的列
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的列的更多相关文章
- 动态横向(水平)合并GridView数据行DataRow的列
前一段时间,Insus.NET有写过<动态合并GridView数据行DataRow的列>http://www.cnblogs.com/insus/p/3238348.html, 那是纵向( ...
- 动态合并GridView数据行DataRow的列
前段时间,Insus.NET一直在演示GridView控件Header头行或列:<动态变更GridView控件列名>和<动态合并或定制GridView控件Header头某些列> ...
- 在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列)
原文:在论坛中出现的比较难的sql问题:15(生成动态删除列语句 分组内多行转为多列) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.如果去掉这个临时表中合计为0 ...
- ajax异步获取数据后动态向表格中添加数据(行)
因为某些原因,项目中突然需要做自己做个ajax异步获取数据后动态向表格中添加数据的页面,网上找了半天都没有 看到现成的,决定自己写个例子 1.HTML页面 <!doctype html> ...
- PyQt(Python+Qt)学习随笔:QTableView中数据行高和列宽的调整方法
老猿Python博文目录 老猿Python博客地址 一.概述 在QTableView中,除了采取缺省的间隔显示行和列的数据外,还可以通过带调整数据的行高和列宽. 二.列宽调整方法 调整数据行列宽的方法 ...
- pandas 7 合并 merge 水平合并,数据会变宽
pd.merge( df1, df2, on=['key1', 'key2'], left_index=True, right_index=True, how=['left', 'right', 'o ...
- 动态合并Repeater控件数据列
前天Insus.NET实现<动态合并GridView数据行DataRow的列>.今天再玩玩Repeater控件,功能也是动态合并某列栏位.Repeater控件跟GridView控件一样集成 ...
- 动态合并Repeater控件数据列 Ver2
前一版本<动态合并Repeater控件数据列>http://www.cnblogs.com/insus/p/3240848.html .今天Insus.NET重新演示它,为什么? 因为两点 ...
- EasyUI-DataGrid多线动态实现选择性合并
jQuery EasyUI有一个非常易于使用的数据列表控件,这是DataGrid控制.某些背景json格式可以传递给在前景中显示的控制,很强大.只要有时需求须要这样即多行合并,如在列表中假设同样的部门 ...
随机推荐
- Azure SLB + httpd + ILB + HAProxy + Atlas + MySQL
为了测试一个环境,需要在Azure上搭建高可用的LAMP架构.但要求MySQL的中间件Atlas采用主备的模式.在数据中心一般采用Keepalive+VIP的模式,通过浮动地址对外提供服务. 但在云环 ...
- rabbitmq -- networking
RabbitMQ大名鼎鼎, 其networking 部分经常被众多Erlang 程序员, 爱好者分析. 小的时候就见到很多人写过这方面的blog, 比如: 1, http://www.blogjava ...
- VerilogHDL编译预处理
编译预处理语句 编译预处理是VerilogHDL编译系统的一个组成部分,指编译系统会对一些特殊命令进行预处理,然后将预处理结果和源程序一起在进行通常的编译处理.以”`” (反引号)开始的某些标识符是编 ...
- 在struts2中配置自定义拦截器放行多个方法
源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet ...
- boot asio 非阻塞同步编程---非阻塞的accept和receive。
boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...
- java继承。顾不了
总结:为什么结果显示所有数据都重复输出了呢? package com.sa; //java里的几个难以理解的概念.字节码文件.class文件.源文件 //.class文件指的是.编译后产生的字节码文件 ...
- canvas图形组合
代码: 1 /** 2 * Created by Administrator on 2016/1/27. 3 */ 4 function draw (id){ 5 var canvas = docum ...
- 【转】link_to中delete无效的问题解决
问题一 1.问题描述:点击[删除]链接之后,跳到了show页面,完全没有弹出框提示 <%= link_to "删除", product_path(product.id), : ...
- python metaclass(元类)
metaclass(元类) 一.创建类的执行流程 二.元类的认识 什么是元类呢?在Python3中继承type的就是元类 二.元类的示例 方式一: # 方式一 class MyType(type): ...
- ios AppStore 帐号申请
App Store最新审核指南 https://developer.apple.com/support/app-review/cn/ http://www.woshipm.com/ucd/144218 ...