وقتی دیتا سورس از جنس اینتیتی تعریف میکنم بحتی هیچ ستونی هم اد نمیکنم بدون اینکه خطایی دریافت کنم فایل پی دی اف، read only میمونه و حجم فایل 0kb باقی میمونه
public static IPdfReportData CreatePdfReport(Order order, int languageId) { if (order == null) throw new ArgumentNullException("order"); Language lang = IoC.Resolve<ILanguageService>().GetLanguageById(languageId); if (lang == null) throw new NopException("Language could not be loaded"); var localizationManager = IoC.Resolve<ILocalizationManager>(); var orderProductVariants = order.OrderProductVariants; return new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.LeftToRight); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "coponet", Application = "coponet eshop", Keywords = "Factor", Subject = "Factor", Title = "Factor" }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); doc.PrintingPreferences(new PrintingPreferences { ShowPrintDialogAutomatically = false }); }) .DefaultFonts(fonts => { fonts.Path(Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\arial.ttf", Environment.GetEnvironmentVariable("SystemRoot") + "\\fonts\\verdana.ttf"); }) .PagesFooter(footer => { footer.DefaultFooter(CalenderHelper.dateTimeParseToString("yyyy/MM/dd", order.CreatedOn, CalenderEnum.PersianCalender)); }) .PagesHeader(header => { header.DefaultHeader(defaultHeader => { defaultHeader.RunDirection(PdfRunDirection.LeftToRight); //defaultHeader.ImagePath(AppPath.ApplicationPath + "\\Images\\01.png"); defaultHeader.Message("Our new rpt."); }); }) .MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.ClassicTemplate); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Relative); table.NumberOfDataRowsPerPage(1); }) .MainTableDataSource(dataSource => { //var listOfRows = new List<User>(); //for (int i = 0; i < 40; i++) //{ // listOfRows.Add(new User {Id = i}); //} //dataSource.StronglyTypedList(listOfRows); dataSource.StronglyTypedList(orderProductVariants); }) ) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "There is no data available to display."); }) ).Generate(data => data.AsPdfFile(string.Format("{0}\\documents\\Temp\\Factor-{1}.pdf", HttpRuntime.AppDomainAppPath, order.OrderId))); }
این نمونه کدی که استفاده کردم