سلام،تشکر از راهنماییهای قبلی
گزارشی دارم، که در آن از تابع جمعی Sum استفاده کرده ام در 3 ستون.حال متوجه نمیشم چرا نتیجه تابع تجمعی صفر میشوند، در گزارشات دیگر نیز از Sum استفاده کردم ولی مشکلی نداشتم، مشکل کارم را متوجه نمیشوم.
خروجی گزارش :
کد گزارش :
new PdfReport().DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.RightToLeft); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = _company, Application = "نرم افزار ", Keywords = "سود فاکتورها", Subject = "سود فاکتورها", Title = "سود فاکتورها" }); }) .DefaultFonts(fonts => { fonts.Path(Path.Combine(Environment.CurrentDirectory, @"fonts\irsans.ttf"), Path.Combine(Environment.CurrentDirectory, @"fonts\verdana.ttf")); fonts.Size(8); }) .PagesFooter(footer => { footer.DefaultFooter(DateTimeHelper.ToPersianShortDateString(DateTime.Now,true,true)); }) .PagesHeader(header => { header.HtmlHeader(rptHeader => { // Register fonts and styles var styleSheet = new iTextSharp.text.html.simpleparser.StyleSheet(); iTextSharp.text.FontFactory.Register(Path.Combine(Environment.CurrentDirectory, @"fonts\BFARNAZ.TTF"), "Farnaz"); styleSheet.LoadStyle("report-header", "size", "12pt"); styleSheet.LoadStyle("report-header", "font-family", "Farnaz"); iTextSharp.text.FontFactory.Register(Path.Combine(Environment.CurrentDirectory, @"fonts\BNAZANIN.TTF"), "Bnazanin"); styleSheet.LoadStyle("report-desc", "size", "12pt"); styleSheet.LoadStyle("report-desc", "font-family", "Bnazanin"); rptHeader.PageHeaderProperties(new HeaderBasicProperties { RunDirection = PdfRunDirection.RightToLeft, HorizontalAlignment = PdfRpt.Core.Contracts.HorizontalAlignment.Center, ShowBorder = false, PdfFont = header.PdfFont, StyleSheet = styleSheet }); rptHeader.AddPageHeader(pageHeader => { var title = "سود فاکتورها"; var companyName = string.Concat("شرکت / فروشگاه ", _company); var financialYear = string.Concat("سال مالی ", _financialPeriod.GetCurrentFinancialPeriodTitle()); return string.Format(@" <table cellpadding='0' cellspacing='0' class='report-header'> <tr> <td>{0}</td> </tr> <tr> <td>{1}</td> </tr> <tr> <td>{2}</td> </tr> </table> <table cellpadding='0' cellspacing='0' class='report-desc'> <tr> <td align='left' width='10%'>{3}</td><td align='left' width='10%'>از تاریخ:</td> <td align='left' width='65%'>{4}</td><td align='left' width='15%'>از شماره:</td> </tr> <tr> <td align='left' width='10%'>{5}</td> <td align='left' width='10%'>تا تاریخ:</td> <td align='left' width='65%'>{6}</td> <td align='left' width='15%'>تا شماره:</td> </tr> </table> " , title, companyName, financialYear, DateTimeHelper.ToPersianShortDateString(_fromDate), _fromNumber, DateTimeHelper.ToPersianShortDateString(_toDate), _toNumber ); }); }); }) .MainTableTemplate(template => { template.CustomTemplate(new GrayTemplate()); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Relative); table.NumberOfDataRowsPerPage(0); }) .MainTableDataSource(dataSource => { var factorsProfitItems = FactorsProfitItems.Select(g => new { Number = g.Number, SaleDate = g.SaleDate, Customer = g.Customer, Description = g.Description, FactorProfit = g.FactorProfit, Discount = g.Discount, RealProfit = g.RealProfit }); dataSource.StronglyTypedList(factorsProfitItems); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.Number); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(1); column.HeaderCell("ش فاکتور"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.SaleDate); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(1); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => DateTimeHelper.ToPersianShortDateString((DateTime)obj)); }); column.HeaderCell("تاریخ"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.Customer); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(2); column.Width(1.5f); column.HeaderCell("مشتری"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.Description); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center); column.IsVisible(true); column.Order(3); column.Width(2); column.HeaderCell("شرح"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.FactorProfit); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right); column.IsVisible(true); column.Order(4); column.Width(1); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => string.Format("{0:n0}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj)); }); column.HeaderCell("سود فاکتور"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.Discount); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right); column.IsVisible(true); column.Order(5); column.Width(1); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => string.Format("{0:n0}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj)); }); column.HeaderCell("تخفیف"); }); columns.AddColumn(column => { column.PropertyName<FactorsProfitItemPrintViewModel>(x => x.RealProfit); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Right); column.IsVisible(true); column.Order(6); column.Width(1); column.ColumnItemsTemplate(template => { template.TextBlock(); template.DisplayFormatFormula(obj => string.Format("{0:n0}", obj)); }); column.AggregateFunction(aggregateFunction => { aggregateFunction.NumericAggregateFunction(AggregateFunction.Sum); aggregateFunction.DisplayFormatFormula(obj => obj == null ? string.Empty : string.Format("{0:n0}", obj)); }); column.HeaderCell("سود خالص"); }); }) .MainTableSummarySettings(summarySettings => { summarySettings.OverallSummarySettings("جمع کل"); summarySettings.PreviousPageSummarySettings("نقل از صفحه قبل"); summarySettings.PageSummarySettings("جمع کل صفحه"); }) .MainTableEvents(events => { events.DataSourceIsEmpty(message: "داده ای جهت نمایش وجود ندارد."); events.CellCreated(args => { args.Cell.BasicProperties.CellPadding = 4f; }); events.MainTableAdded(args => { var taxTable = new PdfGrid(3); // Create a clone of the MainTable's structure taxTable.RunDirection = 3; taxTable.SetWidths(new float[] { 3, 3, 3 }); taxTable.WidthPercentage = 100f; taxTable.SpacingBefore = 60f; taxTable.AddSimpleRow( (data, cellProperties) => { data.Value = "امضاء تنظیم کننده"; cellProperties.ShowBorder = false; cellProperties.PdfFont = args.PdfFont; }, (data, cellProperties) => { data.Value = "امضاء حسابدار"; cellProperties.ShowBorder = false; cellProperties.PdfFont = args.PdfFont; }, (data, cellProperties) => { data.Value = "امضاء مدیرعامل"; cellProperties.ShowBorder = false; cellProperties.PdfFont = args.PdfFont; }); args.PdfDoc.Add(taxTable); }); }) .Export(export => { export.ToExcel("خروجی اکسل"); export.ToCsv("خروجی CSV"); export.ToXml("خروجی XML"); }) .Generate(data => data.AsPdfFile(_documentSource));