Member 13726608 Ответов: 0

Несколько таблиц в crystal reports и экспорт их в формате pdf в ASP.NET MVC


So I have been working on this for two days now and search every possible answer for this. What i want to do is to print a report with data from multiple tables. So I have an Orders, Customers, Contracts, ContractProducts, and Products Table. The column that i want to have in my report is the OrderID from Orders, the CustomerID is a foreign key in the Orders and Contracts Table but is a Primary key in the customers table, the ProductID in either the Products table or ContractProducts as the ContractProducts is the bridge table between the contract and products. The last value i want to show is the Quantity which is in the ContractProducts Table. Basically i want to show all the products associated with the orderID. It keeps giving me this error:

System.Runtime.InteropServices.COMException: Error in File OrderReport 18500_7064_{687A694B-A605-4881-A2BB-10ECCD945780}.rpt:
Failed to retrieve data from the database.


но когда я не включаю количество и productid, он позволяет мне экспортировать в pdf. Почему это так? Я пробовал присоединиться к tem как в linq, так и в методе запроса в mvc, но он продолжает выдавать мне эту ошибку всякий раз, когда я добавляю количество и productid. Пожалуйста, помогите мне.

Что я уже пробовал:

У меня есть этот код в моем контроллере

var orders = from contractProducts in db.ContractProducts
                             join contracts in db.Contracts on contractProducts.ContractID equals contracts.ContractID
                             join order in db.Orders on contracts.Customer.CustomerID equals order.Customer.CustomerID
                             orderby order.OrderID
                             select new
                             {
                                 OrderID = order.OrderID,
                                 CustomerID = order.CustomerID,
                                 ProductID = contractProducts.ProductID,
                                 Quantity = contractProducts.Quantity
                             };

ReportDocument Rep = new ReportDocument();

                Rep.Load(Path.Combine(Server.MapPath("~/Reports/OrderReport.rpt")));

                Rep.SetDataSource(orders);
                
                Response.Buffer = false;
                Response.ClearContent();
                Response.ClearHeaders();


                Stream stream = Rep.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
                stream.Seek(0, SeekOrigin.Begin);
                return File(stream, "application/pdf", "Orders Report.pdf");

Laxmidhar tatwa technologies

При загрузке структуры для отчета
Должно соответствовать вашим полям источника данных

0 Ответов