扩展了Repeater控件的EmptyDataTemplate模板功能
更新时间:2021年9月22日 10:17 点击:1959
Repeater控件是一个数据显示控件,该控件允许通过为列表中显示的每一项重复使用指定的模板来自定义布局。
相对于GridViews和DataList来说Repeater是一个相当轻巧、灵活的控件,能耗也比它们要小很多。美中不足的是功能略显单薄,尤其是用于绑定的数据源没有数据的情况下,往往要使用一个隐藏面版来显示“暂时没有任何数据”信息。太麻烦了。
于是自行扩展了Repeater控件的EmptyDataTemplate模板已达到同样的效果。
(vs2008)自定义一个Repeater控件,使其具有EmptyDataTemplate模板的功能解决方案-》添加-》新建项目-》选择C#类库
为新建立的类库添加引用 在.NET选项卡中选择System.Web
/// <summary>
/// 自定义Repeater 支持EmptyDataTemplate
/// 作者:cantops
/// </summary>
public class Repeater :System.Web.UI.WebControls.Repeater
{
private ITemplate emptyDataTemplate;
[PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(TemplateControl))]
public ITemplate EmptyDataTemplate
{
get { return emptyDataTemplate; }
set { emptyDataTemplate = value; }
}
protected override void OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
if (emptyDataTemplate != null)
{
if (this.Items.Count == 0)
{
EmptyDataTemplate.InstantiateIn(this);
}
}
}
}
然后制作成为用户控件直接引用使用。
相对于GridViews和DataList来说Repeater是一个相当轻巧、灵活的控件,能耗也比它们要小很多。美中不足的是功能略显单薄,尤其是用于绑定的数据源没有数据的情况下,往往要使用一个隐藏面版来显示“暂时没有任何数据”信息。太麻烦了。
于是自行扩展了Repeater控件的EmptyDataTemplate模板已达到同样的效果。
(vs2008)自定义一个Repeater控件,使其具有EmptyDataTemplate模板的功能解决方案-》添加-》新建项目-》选择C#类库
为新建立的类库添加引用 在.NET选项卡中选择System.Web
复制代码 代码如下:
/// <summary>
/// 自定义Repeater 支持EmptyDataTemplate
/// 作者:cantops
/// </summary>
public class Repeater :System.Web.UI.WebControls.Repeater
{
private ITemplate emptyDataTemplate;
[PersistenceMode(PersistenceMode.InnerProperty), TemplateContainer(typeof(TemplateControl))]
public ITemplate EmptyDataTemplate
{
get { return emptyDataTemplate; }
set { emptyDataTemplate = value; }
}
protected override void OnDataBinding(EventArgs e)
{
base.OnDataBinding(e);
if (emptyDataTemplate != null)
{
if (this.Items.Count == 0)
{
EmptyDataTemplate.InstantiateIn(this);
}
}
}
}
然后制作成为用户控件直接引用使用。
相关文章
Repeater控件分别绑定数组和ArrayList实现思路
在后台用DataSource绑上数据源(数组或ArrayList)在调用DataBind()方法,在前台调用%# GetDataItem()%,感兴趣的朋友可以了解下啊,望本文可以巩固你的数据绑定知识...2021-09-22.NET实现Repeater控件+AspNetPager控件分页
本文给大家分享的2个示例,演示AspNetPager最基本的功能,帮助您认识AspNetPager分页控件及了解它的工作原理。有需要的小伙伴可以参考下...2021-09-22asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序
这篇文章主要介绍了asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序的相关资料,需要的朋友可以参考下...2021-09-22Repeater控件动态变更列(Header,Item和Foot)信息实现思路
需求开发一个小报表,显示最近五个月的summary的数量统计,报表会随月份的变化而变化,接下来为大家详细介绍下实现方法,感兴趣的各位不要错过了哈...2021-09-22- Repeater控件,每个item前有一个CheckBox,把选择的item列显出来,有两个地方需要注意的,就是CheckBox与Label,这个Label是随你需要获取的内容而变化喔。如你想获取Nickname,那你需要把绑定的的内容放在Label上...2021-09-22
扩展了Repeater控件的EmptyDataTemplate模板功能
Repeater控件是一个数据显示控件,该控件允许通过为列表中显示的每一项重复使用指定的模板来自定义布局...2021-09-22浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列)
本文主要介绍了浅析Repeater控件的使用 (原样导出和动态显示/隐藏Repeater中的列)的具体方法,需要的朋友可以看下...2021-09-22- Repeater是我们经常用的一个显示数据集的数据控件那么我们该怎么为Repeater控件添加序号呢?下面编辑为大家介绍几种常用的为Repeater控件添加序号的方法...2021-09-22
Repeater控件与PagedDataSource结合实现分页功能
Repeater控件与PagedDataSource相结合实现其分页功能,如果控件开发人员需对自定义数据绑定控件提供分页支持,即可使用此类...2021-09-22