Bối cảnh:vấn đề Thiết RDLC Datasource vào Object
Tôi đã được giao nhiệm vụ chuyển đổi một ứng dụng cơ sở dữ liệu Access để ASP.Net C# MVC. Đây là ứng dụng MVC đầu tiên của tôi.
Có 10 báo cáo cần chuyển đổi. Chúng tôi đang sử dụng tệp RDLC và reportviewer. Tôi đang sử dụng Visual Studio 2010 với tất cả các bản vá lỗi mới nhất. Chúng tôi đang tìm kiếm cơ sở dữ liệu SQL Server đã được cơ sở dữ liệu Access hiện có điền, do đó cấu trúc bảng được đặt khá nhiều trong đá, nếu không chúng tôi sẽ phải cố gắng chuyển đổi 10 năm dữ liệu.
Tôi đã hoàn tất tất cả trừ hai báo cáo. Báo cáo cuối cùng yêu cầu xử lý nhiều hơn và không chỉ hiển thị dữ liệu từ cơ sở dữ liệu. Cách dễ nhất để làm điều này là tạo một đối tượng C# và thực hiện tất cả các xử lý phía máy chủ, sau đó sử dụng RDLC để hiển thị các kết quả.
Issue
Vấn đề tôi đang gặp là Visual Studio sẽ không nhận ra các đối tượng tôi đã tạo ra như datasources tiềm năng. Mỗi khi tôi cố gắng "thêm tập dữ liệu", nó sẽ trả về "thuật sĩ cấu hình nguồn dữ liệu" và chỉ cung cấp cơ sở dữ liệu SQL Server làm kết nối dữ liệu có thể. Tôi biết có một màn hình tồn tại cho phép bạn chọn một đối tượng làm tập dữ liệu, nhưng tôi không bao giờ thấy màn hình đó.
Dưới đây là các đối tượng (chức năng xử lý xóa do rõ ràng):
public class TurnAroundVal
{
// Registration Package information
public string dataType { get; set; }
// Calculated totals; values only set through constructor or calculation function
public int packageCount { get; private set; }
public int dayCount { get; set; }
public double avgTurnAround { get; private set; }
public int upperRange { get; private set; }
public int lowerRange { get; private set; }
}
public class TurnAroundVals
{
// Public Variables
public IEnumerable<TurnAroundVal> TurnArounds { get; private set; }
public DatePass dates { get; set; }
public int pkgTotal { get; private set; }
public double dayTotal { get; private set; }
public double avgAllTurnArounds { get; private set; }
}
tôi cũng sẽ sẵn sàng để sử dụng IEnumerable của "TurnAroundVal" như một nguồn dữ liệu, và chỉ cần vượt qua ngày tháng, int, và đôi ở dạng tham số. Hoặc là sẽ làm việc.
Câu hỏi
Có một thiết lập trong Visual Studio 2010 mà tôi đang thiếu để cho phép các nhà thiết kế RDLC để xem các đối tượng mình đã tạo? Tôi có sai khi nghĩ rằng điều này sẽ làm việc với các lớp tôi đã xác định?
trả lời
Tất cả những gợi ý cho là hữu ích, nhưng cuối cùng những gì đã nhận nó làm việc cho tôi là tạo ra một dự án phi web tạm thời trong cùng một giải pháp và tạo ra các RDLC đó. Khi tôi đi để thêm một tập dữ liệu, nó cho thấy "Đối tượng" như là một tùy chọn. Bạn phải thêm một tham chiếu đến dự án web của bạn để các đối tượng của bạn có thể nhìn thấy, nhưng sau đó bạn có thể chọn một đối tượng bạn muốn và sử dụng nó trong RDLC. Sau đó, bạn có thể chỉ cần kéo-thả tệp RDLC vào dự án web của bạn, xóa dự án tạm thời, và bạn tốt để đi. Chỉ cần nhớ rằng bạn phải thêm các nguồn dữ liệu theo cách thủ công trong mã và chúng phải được đặt tên giống như bạn đã chỉ định trong RDLC.
Đã thử tất cả điều đó, nhưng đó vẫn là thông tin tốt. Những gì tôi làm là tạo ra một dự án phi web mới trong cùng một giải pháp, tạo RDLC ở đó, sau đó kéo/thả nó vào dự án web. Có lẽ một cách ít ỏi để làm điều đó, nhưng điều này đã hiệu quả. – War2d2