为了账号安全,请及时绑定邮箱和手机立即绑定

动态合并Repeater控件数据列

标签:
JavaScript

前天Insus.NET实现《动态合并GridView数据行DataRow的列》。今天再玩玩Repeater控件,功能也是动态合并某列栏位。
Repeater控件跟GridView控件一样集成度高,越是自由与松散的,在合并时,越是不好控制。

我们在网站上,创建一个网页,拉Repeater控件至网页:



去.aspx.cs为Repeater控件绑定数据,数据库表格,存储过程,以及连接数据库获取数据,在此不提供。



浏览效果:


OK,我们开始实现合并数据列,博文开始有提及,由于Repeater控件与GridVeiw控件有很大不一样,合并方法也没有什么参考可言。但有一点是相同的地方,合并的事件还是有ItemCreated中进行。


上图中为Repeater控件添加OnItemCreated="RepeaterFruit_ItemCreated"事件,拿掉原ItemTemplate模版内的html,用Literal控件来替代。也就是说,所有数据行均在后台OnItemCreated="RepeaterFruit_ItemCreated"事件中动态产生。

去.aspx.cs定义两个页面级的变量,参考下图#1部分代码。而#2部分代码块,是从数据源分析出合并列中,每个可合并的字段所占有几行数据,并填充入Dictionary<string,int>集合中。



下面开始写OnItemCreated事件:


#1代码行,是从集合中,获取匹配当前数据行合并列有几行可合并。
#2代码块,如果只有一行,就不必做任何合并动作,原原本本产生一行数据即可。
#3代码块,如果遇上需要合并的字段,而且是刚第一次产生,需要为合并列添加rowspan属性,并赋值。
#4代码块,是相同的合并列,不必再动态产生了。

程序运行之后的效果:


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消