asp.net ReportViewer控件是否可以与LinqDataSource一起使用?如果有的话,那里有任何例子吗?ASP.NET ReportViewer和Linq To Sql问题
编辑报表时,为什么Linq到Sql生成的实体类出现在“网站数据源”窗格中?
asp.net ReportViewer控件是否可以与LinqDataSource一起使用?如果有的话,那里有任何例子吗?ASP.NET ReportViewer和Linq To Sql问题
编辑报表时,为什么Linq到Sql生成的实体类出现在“网站数据源”窗格中?
它出现的网站数据源窗格将只显示所有具有公共方法返回IEnumerable的类,但它不会显示属性,即使它们也返回IEnumerable。举例来说,如果你有这样的类:
公共类名称
{ public Name(string firstName, string lastName) { FirstName = firstName; LastName = lastName; } public string FirstName { get; set; } public string LastName { get; set; } }
public class Class1
{
public IEnumerable<Name> Names { get; set; }
public IEnumerable<Name> GetNamesList()
{
List<Name> list = new List<Name>();
list.Add(new Name("Al", "Alverson"));
list.Add(new Name("Bill", "Billerson"));
return list;
}
}
那么就会出现在网站数据源窗格中的唯一选项是“GetNamesList”与特性名字和姓氏。由于您的Linq-to-SQL生成的类具有IQueryable属性,但不包含方法,因此您可能需要添加具有用于公开这些集合的方法的部分类。因此,如果您拥有产品属性,请创建一个部分类,其签名为:
public IEnumerable GetAllProducts();
但我不确定您可以使ReportViewer与现有的LinqDataSource控件一起工作。相反,它基本上和LinqDataSource做同样的事情:实例化一个类并调用你指定的方法来获取数据。
有用的链接: http://msdn.microsoft.com/en-us/library/ms251692(VS.80).aspx http://forums.asp.net/p/1430385/3667394.aspx