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