vs2010 rdlc报表一:绑定list数据源
最近学习使用rdlc报表,从网上查找相关博客文章,都是用dataset作为数据源来讲解。下边用实体类返回的list作为数据源进行绑定。
- 首先创建User类,作为示例类
public class User { public string UserCode { get; set; } public string UserName { get; set; } public string Address { get; set; } }
- 新建UserDataSource类,返回List<User>
public class UserDataSource { public List<User> GetAllUser() { List<User> userlist = new List<User>(); User user1 = new User(); user1.UserCode = "01"; user1.UserName = "张三"; user1.Address = "**省**市**社区1号"; User user2 = new User(); user2.UserCode = "02"; user2.UserName = "李四"; user2.Address = "**省**市**社区2号"; User user3= new User(); user3.UserCode = "03"; user3.UserName = "王五"; user3.Address = "**省**市**社区3号"; userlist.Add(user1); userlist.Add(user2); userlist.Add(user3); return userlist; } }
- 添加Report-rdlc向导
之后会在DataSet Properties 里边 DataSource选择创建的asp.net Application名字,AvaliableDatasets里边会自动填充我们刚才定义的UserDataSource数据源。
如图:
下一步之后,在Arrange Fields里边 每个先拖上一个,然后下一步。
下一步选择样式,完成。
将生成的表格删除掉,从工具箱中添加一个Table,并将reportdata中相应的字段拖拽到Table中。
到此 报表的设计就完成了, 下面展示报表。
新建webForms.aspx页面,并添加ScriptManager控件 与 ReportViewer控件。并设置ReportViewer的报表为刚才设计的报表。
在Page_Load事件方法中添加如下代码:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { UserDataSource ds = new UserDataSource(); List<User> Userlist = new List<User>(); Userlist = ds.GetAllUser(); ReportDataSource rds1 = new ReportDataSource("DataSet1", Userlist); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(rds1); } }
在浏览器中查看