我做了一个继承自repeater的控件pager_repeater,主要是实现分页功能
pager_repeater的datasource为IList接口
在web页面中,我利用模版列来读取数据,行如<%#DataBinder.Eval(Container.DataItem,"id")%>
但是我现在只有datareader数据源,该如何给pager_repeater提供数据源呢?
pager_repeater的datasource为IList接口
在web页面中,我利用模版列来读取数据,行如<%#DataBinder.Eval(Container.DataItem,"id")%>
但是我现在只有datareader数据源,该如何给pager_repeater提供数据源呢?
解决方案 »
- 企业库执行带参数的存储过程问题
- DataGrid为什么没有自动刷新??
- [[关于身份验证票问题,急,求高手指教中]]
- 大4的学生,怎么写简历?过来人看下,提下意见,谢谢
- web.config 配置如下,提示 ConnectionString 属性尚未初始化
- 急啊!求大伙推荐一个XP风格的栏。请进来看
- 为什么不能建立全文索引?
- 为什么我不能创建asp.net应用程序 100分
- 从数据库中取值后,因显示不完,treeview出现右边的滚动条,如何更改属性让他不出现滚动条,这样才美观
- 郁闷:把DataGrid中的数据导出到Excel时当记录数大于两条时出现乱码
- 请各位帮我看一下这个错误是什么问题?
- ASP.net 数据项的超链接
但是ArrayList没有列名,所以就不能再pager_repeater中绑定
该怎么办呢,高手帮忙
对,转化为DataTable好
我试下
ArrayList values = new ArrayList();
while(reader.Read())
{
values.Add(new myobject(reader["id"]/*,...other cols*/));
}
然后新建一个myobjcet类,公布一个构造函数和一些只读属性
public class myobject
{
privae string _id;
//other properties
public myobject(string id/*,...other cols*/)
{
_id = id;
//other properties
}
public string id
{
get {return _id;}
}
//other properties
}
//绑定数据
<%#DataBinder.Eval(Container.DataItem,"id")%>
这样就ok了
if (reader.HasRows)
{
while (reader.Read())
{
Model info = new Model();
if (reader[0] != DBNull.Value)
info.Name = reader.GetString(0);
if (reader[1] != DBNull.Value)
info.ID = reader.GetInt64(1);
if (reader[2] != DBNull.Value)
info.Date = reader.GetDateTime(2); list.Add(vfInfo);
}
}
如果转为DataTable,则可以DataTable.Load (IDataReader) (2.0)