RDLC报表(一)
来源:互联网 发布:sql server拼接单引号 编辑:程序博客网 时间:2024/06/06 05:00
一,效果如下:
二,开始实现
1,新建一个空的ASP.NET WEBFORM项目,命名NorthwindReports
2,在项目中创建一个DAL的空文件夹
3,在DAL文件夹上创建一个ADO.NET 实体数据模型叫做Northwind
4,在DAL文件夹上右键添加如下代码:
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NorthwindReports.DAL{ public class ProductViewModel { public int? ProductID { get; set; } public string ProductName { get; set; } public System.Nullable<decimal> UnitPrice { get; set; } public string CategoryName { get; set; } public int? CategoryID { get; set; } public int? SupplierID { get; set; } public bool Discontinued { get; set; } }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NorthwindReports.DAL{ public class CategoryViewModel { public string CategoryName { get; set; } public int CategoryID { get; set; } }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NorthwindReports.DAL{ interface IProductRepository { IQueryable<Product> GetProducts(); IQueryable<ProductViewModel> GetProductsProjected(int? supplierID, int? categoryID); IQueryable<SupplierViewModel> GetSuppliers(); IQueryable<CategoryViewModel> GetCategories(); }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NorthwindReports.DAL{ public class ProductRepository : IProductRepository { /// <summary> /// IQueryable of all Products /// </summary> /// <returns></returns> public IQueryable<Product> GetProducts() { var dataContext = new NorthwindEntities(); var products = from p in dataContext.Products select p; return products; } /// <summary> /// IQueryable of Projects projected /// into the ProductViewModel class /// </summary> /// <returns></returns> public IQueryable<ProductViewModel> GetProductsProjected(int? supplierID, int? categoryID) { var projectedProducts = from p in GetProducts() select new ProductViewModel { ProductID = p.ProductID, ProductName = p.ProductName, UnitPrice = p.UnitPrice, CategoryName = p.Category.CategoryName, CategoryID = p.CategoryID, SupplierID = p.SupplierID, Discontinued = p.Discontinued }; // Filter on SupplierID if (supplierID.HasValue) { projectedProducts = projectedProducts.Where(a => a.SupplierID == supplierID); } // Filter on CategoryID if (categoryID.HasValue) { projectedProducts = projectedProducts.Where(a => a.CategoryID == categoryID); } return projectedProducts; } public IQueryable<SupplierViewModel> GetSuppliers() { var dataContext = new NorthwindEntities(); var suppliers = from s in dataContext.Suppliers select new SupplierViewModel { SupplierID = s.SupplierID, CompanyName = s.CompanyName }; return suppliers; } public IQueryable<CategoryViewModel> GetCategories() { var dataContext = new NorthwindEntities(); var categories = from c in dataContext.Categories select new CategoryViewModel { CategoryID = c.CategoryID, CategoryName = c.CategoryName }; return categories; } }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace NorthwindReports.DAL{ public class SupplierViewModel { public string CompanyName { get; set; } public int SupplierID { get; set; } }}
5,到此您的解决方案资源管理器类似如下:
- RDLC报表(一)
- RDLC报表(一)
- 用RDLC报表(一)
- 使用RDLC报表(一)
- 用RDLC报表(一)
- RDLC报表(一)
- 用RDLC报表(一)
- RDLC做报表(一)
- reportview RDLC 报表备忘(一)
- rdlc报表学习心得(一)
- asp.net RDLC报表使用(一)
- RDLC报表
- RDLC报表
- RDLC报表
- RDLC报表
- RDLC报表
- RDLC报表
- RDLC报表
- IE监听事件
- 存储过程与函数的区别
- 标准DOM的事件监听
- 监听事件
- 事件监听简单通用方法
- RDLC报表(一)
- 用java的i/o读写文件,举一反三看清io的使用
- 冒泡型事件流
- [转]HTTP请求模型和头信息参考
- qmake生成makefile编译时提示缺少lqtgui和lqtcore时候的方法
- 冒泡型问好事件流
- AutomationQA.com新加入Selenium栏目
- 布尔型.html
- 数列极差问题(贪心) 求数据(一直Wrong)