#Outlook - 19.1

This commit is contained in:
Alexander Mikhailov
2019-05-06 09:45:48 +03:00
parent 2e45b5d38f
commit c9fc96eaac
182 changed files with 32549 additions and 3938 deletions

View File

@@ -0,0 +1,241 @@
using DevExpress.Spreadsheet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Range = DevExpress.Spreadsheet.Range;
namespace DevExpress.DevAV.Reports.Spreadsheet {
public static class CellsHelper {
public static List<OrderCellInfo> OrderCells { get { return orderCells; } }
public static List<OrderCellInfo> OrderItemCells { get { return orderItemCells; } }
public static Dictionary<CustomEditorIds, CustomEditorInfo> CustomEditorsConfig { get { return customEditorsConfig; } }
public static string InvoiceWorksheetName { get { return "Invoice"; } }
public static string InvoiceWorksheetPassword { get { return "123"; } }
static Dictionary<CustomEditorIds, CustomEditorInfo> customEditorsConfig = CreateCustomEditorsConfig();
static List<OrderCellInfo> orderCells = CreateOrderCells();
static List<OrderCellInfo> orderItemCells = CreateOrderItemCells();
static Dictionary<CellsKind, string> cellsPosition = orderCells.ToDictionary<OrderCellInfo, CellsKind, string>(x => x.Cell, y => y.CellRange);
public static void GenerateEditors(List<OrderCellInfo> cellsInfo, Worksheet invoice) {
cellsInfo.Where(x => x.IsAutoGeneratedEditor()).ToList().ForEach(info => {
ValueObject value = info.EditorId ?? (info.FixedValues != null ? ValueObject.CreateListSource(info.FixedValues) : null);
invoice.CustomCellInplaceEditors.Add(invoice[info.CellRange], info.EditorType.Value, value);
});
}
public static void CreateCollectionEditor<T>(CellsKind cell, Worksheet invoice, IEnumerable<T> source, Func<T, string> getValue) {
var cellInfo = FindCell(cell);
var cellValues = source.Select(x => CellValue.FromObject(getValue(x))).ToArray();
invoice.CustomCellInplaceEditors.Add(invoice[cellInfo.CellRange], cellInfo.EditorType.Value,
ValueObject.CreateListSource(cellValues));
}
public static void RemoveEditor(CellsKind cell, Worksheet invoice) {
var storeCell = FindCell(cell);
invoice.CustomCellInplaceEditors.Remove(invoice[storeCell.CellRange]);
}
public static void RemoveAllEditors(string region, Worksheet invoice) {
invoice.CustomCellInplaceEditors.Remove(invoice[region]);
}
public static bool IsOrderItemProductCell(Cell cell, Range orderItemRange) {
return cell.LeftColumnIndex - orderItemRange.LeftColumnIndex == CellsHelper.FindCell(CellsKind.ProductDescription).Offset;
}
public static bool IsRemoveItemRange(Cell cell, Range orderItemsRange) {
return IsSingleCellSelected(cell)
&& cell.LeftColumnIndex > orderItemsRange.RightColumnIndex
&& cell.LeftColumnIndex < orderItemsRange.RightColumnIndex + 4
&& cell.TopRowIndex >= orderItemsRange.TopRowIndex
&& cell.TopRowIndex <= orderItemsRange.BottomRowIndex;
}
public static bool IsAddItemRange(Cell cell, Range orderItemsRange) {
return IsSingleCellSelected(cell)
&& cell.TopRowIndex == orderItemsRange.BottomRowIndex + 1
&& cell.LeftColumnIndex - orderItemsRange.LeftColumnIndex == 1;
}
public static bool IsInvoiceSheetActive(Cell cell) {
return cell != null && cell.Worksheet.Name == CellsHelper.InvoiceWorksheetName;
}
public static CellValue GetOrderCellValue(CellsKind cell, List<OrderItem> orderItems, Worksheet invoice) {
var range = CellsHelper.GetActualCellRange(CellsHelper.FindLeftCell(cell), orderItems.Any() ? orderItems.Count : 0);
return invoice.Cells[range].Value;
}
public static CellValue GetOrderItemCellValue(CellsKind cell, Range orderItemRange, Worksheet invoice) {
int offset = CellsHelper.GetOffset(cell);
var cellRange = invoice.Range.FromLTRB(orderItemRange.LeftColumnIndex + offset,
orderItemRange.TopRowIndex, orderItemRange.LeftColumnIndex + offset, orderItemRange.BottomRowIndex);
return cellRange.Value;
}
public static void CopyOrderItemRange(Range itemRange) {
Range range = itemRange.Offset(-1, 0);
range.CopyFrom(itemRange, PasteSpecial.All, true);
}
public static void UpdateEditableCells(Worksheet invoice, Order order, OrderCollections source) {
invoice.Cells[FindLeftCell(CellsKind.Date)].Value = order.OrderDate.Millisecond != 0 ? order.OrderDate : DateTime.FromBinary(0);
invoice.Cells[FindLeftCell(CellsKind.InvoiceNumber)].Value = order.InvoiceNumber;
invoice.Cells[FindLeftCell(CellsKind.CustomerName)].Value = GetCustomer(order, source) != null ? GetCustomer(order, source).Name : string.Empty;
invoice.Cells[FindLeftCell(CellsKind.CustomerStoreName)].Value = GetStore(order, source) != null ? GetStore(order, source).City : string.Empty;
invoice.Cells[FindLeftCell(CellsKind.EmployeeName)].Value = GetEmployee(order, source) != null ? GetEmployee(order, source).FullName : string.Empty;
invoice.Cells[FindLeftCell(CellsKind.CustomerHomeOfficeName)].Value = "Home Office";
invoice.Cells[FindLeftCell(CellsKind.PONumber)].Value = order.PONumber;
invoice.Cells[FindLeftCell(CellsKind.ShipDate)].Value = order.ShipDate;
invoice.Cells[FindLeftCell(CellsKind.ShipVia)].Value = order.ShipmentCourier.ToString();
invoice.Cells[FindLeftCell(CellsKind.FOB)].Value = string.Empty;
invoice.Cells[FindLeftCell(CellsKind.Terms)].Value = order.OrderTerms != null ? int.Parse(new Regex(@"\d+").Match(order.OrderTerms).Value) : 5;
invoice.Cells[FindLeftCell(CellsKind.Shipping)].Value = (double)order.ShippingAmount;
invoice.Cells[FindLeftCell(CellsKind.Comments)].Value = order.Comments;
}
public static void UpdateDependentCells(Worksheet invoice, Order order, OrderCollections source) {
var customer = GetCustomer(order, source);
var store = GetStore(order, source);
if(customer != null) {
invoice.Cells[FindLeftCell(CellsKind.ShippingCustomerName)].Value = customer.Name;
invoice.Cells[FindLeftCell(CellsKind.CustomerStreetLine)].Value = customer.HomeOffice.Line;
invoice.Cells[FindLeftCell(CellsKind.CustomerCityLine)].Value = customer.HomeOffice.CityLine;
}
if(store != null) {
invoice.Cells[FindLeftCell(CellsKind.CustomerStoreStreetLine)].Value = store.Address.Line;
invoice.Cells[FindLeftCell(CellsKind.CustomerStoreCityLine)].Value = store.Address.CityLine;
}
}
public static OrderCellInfo FindCell(CellsKind cell) {
return OrderCells.FirstOrDefault(x => x.Cell == cell) ?? OrderItemCells.FirstOrDefault(x => x.Cell == cell);
}
public static string FindLeftCell(CellsKind cell) {
return FindLeftCell(cellsPosition[cell]);
}
public static string GetActualCellRange(string defaultRange, int shiftValue, int initialShiftIndex = 23) {
var defaultRow = int.Parse(new Regex(@"\d+").Match(defaultRange).Value);
var absShiftValue = Math.Abs(shiftValue);
var actualShiftValue = absShiftValue < 2 ? 0 : Math.Sign(shiftValue) * (absShiftValue - 1);
if(defaultRow < initialShiftIndex + (actualShiftValue < 0 ? Math.Abs(actualShiftValue) : 0))
return defaultRange;
return string.Format("{0}{1}", defaultRange.First(), defaultRow + actualShiftValue);
}
public static int GetOffset(CellsKind kind) {
return FindCell(kind).Offset.Value;
}
public static bool HasDependentCells(string range) {
return OrderCells.FirstOrDefault(x => FindLeftCell(x.Cell) == range).HasDependentCells;
}
public static CustomEditorInfo FindEditor(string name) {
return CustomEditorsConfig.Values.SingleOrDefault(x => x.Name == name);
}
static Customer GetCustomer(Order order, OrderCollections source) {
return order.Customer ?? (order.CustomerId == null ? null : source.Customers.FirstOrDefault(x => x.Id == order.CustomerId));
}
static CustomerStore GetStore(Order order, OrderCollections source) {
return order.Store ?? (order.StoreId == null ? null : source.CustomerStores.FirstOrDefault(x => x.Id == order.StoreId));
}
static Employee GetEmployee(Order order, OrderCollections source) {
return order.Employee ?? (order.EmployeeId == null ? null : source.Employees.FirstOrDefault(x => x.Id == order.EmployeeId));
}
static bool IsSingleCellSelected(Cell cell) {
return cell.LeftColumnIndex == cell.RightColumnIndex && cell.TopRowIndex == cell.BottomRowIndex;
}
#region Cells Config
static List<OrderCellInfo> CreateOrderCells() {
var result = new List<OrderCellInfo>();
result.Add(new OrderCellInfo(CellsKind.Date, "B4", CustomCellInplaceEditorType.DateEdit));
result.Add(new OrderCellInfo(CellsKind.InvoiceNumber, "C5"));
result.Add(new OrderCellInfo(CellsKind.CustomerName, "B10:E10", CustomCellInplaceEditorType.ComboBox, hasDependentCells: true));
result.Add(new OrderCellInfo(CellsKind.CustomerHomeOfficeName, "B12"));
result.Add(new OrderCellInfo(CellsKind.CustomerStreetLine, "B13"));
result.Add(new OrderCellInfo(CellsKind.CustomerCityLine, "B14"));
result.Add(new OrderCellInfo(CellsKind.ShippingCustomerName, "H10:M10"));
result.Add(new OrderCellInfo(CellsKind.CustomerStoreName, "H12:M12", CustomCellInplaceEditorType.ComboBox, hasDependentCells: true));
result.Add(new OrderCellInfo(CellsKind.CustomerStoreStreetLine, "H13"));
result.Add(new OrderCellInfo(CellsKind.CustomerStoreCityLine, "H14"));
result.Add(new OrderCellInfo(CellsKind.EmployeeName, "B18:C18", CustomCellInplaceEditorType.ComboBox));
result.Add(new OrderCellInfo(CellsKind.PONumber, "D18:E18"));
result.Add(new OrderCellInfo(CellsKind.ShipDate, "F18:G18", CustomCellInplaceEditorType.DateEdit));
result.Add(new OrderCellInfo(CellsKind.ShipVia, "H18:I18", CustomCellInplaceEditorType.ComboBox, fixedValues: new CellValue[] { ShipmentCourier.FedEx.ToString(), ShipmentCourier.DHL.ToString(), ShipmentCourier.UPS.ToString(), ShipmentCourier.None.ToString() }));
result.Add(new OrderCellInfo(CellsKind.FOB, "J18:K18", CustomCellInplaceEditorType.Custom, editorId: customEditorsConfig[CustomEditorIds.FOBSpinEdit].Name));
result.Add(new OrderCellInfo(CellsKind.Terms, "L18:M18", CustomCellInplaceEditorType.Custom, editorId: customEditorsConfig[CustomEditorIds.TermsSpinEdit].Name));
result.Add(new OrderCellInfo(CellsKind.SubTotal, "K23:M23"));
result.Add(new OrderCellInfo(CellsKind.Shipping, "K24:M24", CustomCellInplaceEditorType.Custom, editorId: customEditorsConfig[CustomEditorIds.ShippingSpinEdit].Name, hasDependentCells: true));
result.Add(new OrderCellInfo(CellsKind.TotalDue, "K25:M25"));
result.Add(new OrderCellInfo(CellsKind.Comments, "B28:E31"));
result.Add(new OrderCellInfo(CellsKind.AmountPaid, "K27:M27"));
return result;
}
static List<OrderCellInfo> CreateOrderItemCells() {
var result = new List<OrderCellInfo>();
result.Add(new OrderCellInfo(CellsKind.Quantity, "B22:B23", CustomCellInplaceEditorType.Custom, editorId: customEditorsConfig[CustomEditorIds.QuantitySpinEdit].Name, offset: 0));
result.Add(new OrderCellInfo(CellsKind.ProductDescription, "C22:F23", CustomCellInplaceEditorType.ComboBox, offset: 1));
result.Add(new OrderCellInfo(CellsKind.UnitPrice, "G22:H23", offset: 5));
result.Add(new OrderCellInfo(CellsKind.Discount, "I22:J23", CustomCellInplaceEditorType.Custom, editorId: customEditorsConfig[CustomEditorIds.DiscountSpinEdit].Name, offset: 7));
result.Add(new OrderCellInfo(CellsKind.Total, "K22:M23", offset: 9));
return result;
}
static Dictionary<CustomEditorIds, CustomEditorInfo> CreateCustomEditorsConfig() {
var result = new Dictionary<CustomEditorIds, CustomEditorInfo>();
result.Add(CustomEditorIds.FOBSpinEdit, new CustomEditorInfo("FOBSpinEdit", minValue: 0, maxValue: 500, increment: 500));
result.Add(CustomEditorIds.TermsSpinEdit, new CustomEditorInfo("TermsSpinEdit", minValue: 5, maxValue: 200, increment: 1));
result.Add(CustomEditorIds.QuantitySpinEdit, new CustomEditorInfo("QuantitySpinEdit", minValue: 1, maxValue: 100, increment: 1));
result.Add(CustomEditorIds.DiscountSpinEdit, new CustomEditorInfo("DiscountSpinEdit", minValue: 0, maxValue: 1000, increment: 10));
result.Add(CustomEditorIds.ShippingSpinEdit, new CustomEditorInfo("ShippingSpinEdit", minValue: 0, maxValue: 1000, increment: 5));
return result;
}
#endregion
static string FindLeftCell(string range) {
return range.Substring(0, Math.Min(range.Length, 3));
}
}
public class CustomEditorInfo {
public CustomEditorInfo(string name, int minValue, int maxValue, int increment) {
Name = name;
MinValue = minValue;
MaxValue = maxValue;
Increment = increment;
}
public string Name { get; private set; }
public int MinValue { get; private set; }
public int MaxValue { get; private set; }
public int Increment { get; private set; }
}
public class OrderCellInfo {
public OrderCellInfo(CellsKind cell, string cellRange, CustomCellInplaceEditorType? editorType = null,
string editorId = null, CellValue[] fixedValues = null, int? offset = null, bool hasDependentCells = false) {
Cell = cell;
CellRange = cellRange;
EditorType = editorType;
EditorId = editorId;
FixedValues = fixedValues;
Offset = offset;
HasDependentCells = hasDependentCells;
}
public CellsKind Cell { get; private set; }
public string CellStringId { get; set; }
public string CellRange { get; private set; }
public CustomCellInplaceEditorType? EditorType { get; private set; }
public string EditorId { get; private set; }
public CellValue[] FixedValues { get; private set; }
public int? Offset { get; private set; }
public bool HasDependentCells { get; private set; }
public bool IsUnitOfWorkSelector() {
return EditorType == CustomCellInplaceEditorType.ComboBox && FixedValues == null;
}
public bool IsAutoGeneratedEditor() {
return (EditorType != null && EditorType != CustomCellInplaceEditorType.ComboBox) || FixedValues != null;
}
}
}

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DevExpress.DevAV.Reports.Spreadsheet {
public enum CustomEditorIds {
FOBSpinEdit,
TermsSpinEdit,
QuantitySpinEdit,
DiscountSpinEdit,
ShippingSpinEdit
}
public enum CellsKind {
Date,
InvoiceNumber,
CustomerName,
CustomerHomeOfficeName,
CustomerStreetLine,
CustomerCityLine,
ShippingCustomerName,
CustomerStoreName,
CustomerStoreStreetLine,
CustomerStoreCityLine,
EmployeeName,
PONumber,
ShipDate,
ShipVia,
FOB,
Terms,
SubTotal,
Shipping,
TotalDue,
Comments,
Quantity,
ProductDescription,
UnitPrice,
Discount,
Total,
AmountPaid
}
}

View File

@@ -0,0 +1,249 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.Spreadsheet;
using System.IO;
using Range = DevExpress.Spreadsheet.Range;
namespace DevExpress.DevAV.Reports.Spreadsheet {
public class InvoiceHelper {
EditActions editActions;
Worksheet invoice;
Order order;
OrderCollections source;
List<OrderItem> actualOrderItems;
public Worksheet Invoice { get { return invoice; } }
public InvoiceHelper(IWorkbook workbook, Tuple<OrderCollections, Order> dataSource, EditActions editActions) {
this.source = dataSource.Item1;
this.order = dataSource.Item2;
this.editActions = editActions;
SetActualOrderItems();
LoadInvoice(workbook);
CellsHelper.UpdateEditableCells(Invoice, order, source);
CellsHelper.UpdateDependentCells(Invoice, order, source);
if(AllowChangeOrder()) {
CellsHelper.GenerateEditors(CellsHelper.OrderCells, Invoice);
CreateCollectionEditors();
}
AddOrderItemsToSheet();
}
#region Event Handlers
public void OnPreviewMouseLeftButton(Cell cell) {
if(!AllowChangeOrder())
return;
var invoiceItemsArea = GetOrderItemsArea().Range;
if(!CellsHelper.IsInvoiceSheetActive(cell) || invoiceItemsArea == null)
return;
if(CellsHelper.IsAddItemRange(cell, invoiceItemsArea))
AddOrderItem();
if(CellsHelper.IsRemoveItemRange(cell, invoiceItemsArea)) {
RemoveOrderItem(cell.TopRowIndex - invoiceItemsArea.TopRowIndex);
UpdateTotalValues();
}
}
public void CellValueChanged(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellEventArgs e) {
if(!AllowChangeOrder())
return;
string reference = e.Cell.GetReferenceA1();
var oldCustomerId = order.CustomerId;
string shiftedRange = CellsHelper.GetActualCellRange(reference, actualOrderItems.Any() ? -actualOrderItems.Count : 0);
if(OrderPropertiesHelper.Setters.ContainsKey(shiftedRange)) {
OrderPropertiesHelper.Setters[shiftedRange].Invoke(order, e.Cell.Value, source);
if(CellsHelper.HasDependentCells(shiftedRange)) {
if(order.CustomerId != oldCustomerId)
UpdateCustomerStores();
CellsHelper.UpdateDependentCells(Invoice, order, source);
UpdateTotalValues();
}
}
if(IsOrderItemsRegionModified(e.Cell))
UpdateOrderItem(e.Cell);
}
public void SelectionChanged() {
editActions.ActivateEditor();
}
#endregion
public static Stream GetInvoiceTemplate() {
return Utils.AssemblyHelper.GetEmbeddedResourceStream(typeof(InvoiceHelper).Assembly, "SalesInvoice.xltx", false);
}
void LoadInvoice(IWorkbook workbook) {
invoice = workbook.Worksheets[CellsHelper.InvoiceWorksheetName];
if(!AllowChangeOrder())
invoice.Unprotect(CellsHelper.InvoiceWorksheetPassword);
}
#region OrderItems Management
void SetActualOrderItems() {
actualOrderItems = order.OrderItems.ToList();
}
void AddOrderItem() {
editActions.CloseEditor.Invoke();
var orderItem = editActions.CreateOrderItem();
orderItem.Order = order;
orderItem.OrderId = order.Id;
editActions.AddOrderItem(orderItem);
actualOrderItems.Add(orderItem);
AddOrderItemToSheet(orderItem);
if(actualOrderItems.Count == 1)
Invoice.Rows.Remove(GetOrderItemsArea().Range.TopRowIndex);
}
void AddOrderItemToSheet(OrderItem orderItem) {
var invoiceItemsArea = GetOrderItemsArea();
int rowIndex = invoiceItemsArea.Range.BottomRowIndex;
Invoice.Rows.Insert(rowIndex);
Invoice.Rows[rowIndex].Height = Invoice.Rows[rowIndex - 1].Height;
Invoice.Rows[rowIndex + 1].Height = Invoice.Rows[rowIndex].Height;
Range range = invoiceItemsArea.Range;
Range itemRange = Invoice.Range.FromLTRB(range.LeftColumnIndex, range.BottomRowIndex, range.RightColumnIndex, range.BottomRowIndex);
if(range.RowCount == 1) {
Invoice["K24"].FormulaInvariant = "=SUM(K22:K23)";
invoiceItemsArea.Range = Invoice.Range.FromLTRB(range.LeftColumnIndex, range.TopRowIndex - 1, range.RightColumnIndex, range.BottomRowIndex)
.GetRangeWithAbsoluteReference();
if(AllowChangeOrder())
UpdateOrderItemEditors();
}
CellsHelper.CopyOrderItemRange(itemRange);
OrderPropertiesHelper.InitializeOrderItem(itemRange, orderItem);
}
void AddOrderItemsToSheet() {
actualOrderItems.ForEach(x => AddOrderItemToSheet(x));
if(actualOrderItems.Any())
Invoice.Rows.Remove(GetOrderItemsArea().Range.TopRowIndex);
}
void UpdateOrderItem(Cell cell) {
var verticalOffset = GetOrderItemOffset(cell);
Range orderItemsRange = GetOrderItemsArea().Range;
var orderItem = actualOrderItems[verticalOffset];
var orderItemRange = Invoice.Range.FromLTRB(orderItemsRange.LeftColumnIndex, orderItemsRange.TopRowIndex + verticalOffset,
orderItemsRange.RightColumnIndex, orderItemsRange.TopRowIndex + verticalOffset);
OrderPropertiesHelper.UpdateProductUnits(orderItem, orderItemRange, Invoice);
OrderPropertiesHelper.UpdateProduct(orderItem, CellsHelper.GetOrderItemCellValue(CellsKind.ProductDescription, orderItemRange, Invoice), source);
OrderPropertiesHelper.UpdateProductPrice(cell, orderItem, orderItemRange);
AsyncUpdateSummaries(orderItem, orderItemRange);
}
void RemoveOrderItem(int deletedRowOffset) {
editActions.CloseEditor.Invoke();
var item = actualOrderItems[deletedRowOffset];
var actualRowIndex = GetOrderItemsArea().Range.TopRowIndex + deletedRowOffset;
actualOrderItems.Remove(item);
editActions.RemoveOrderItem(item);
Invoice.Rows.Remove(actualRowIndex);
}
void UpdateOrderItemEditors() {
CellsHelper.RemoveAllEditors("B23:M23", Invoice);
CellsHelper.GenerateEditors(CellsHelper.OrderItemCells, Invoice);
CellsHelper.CreateCollectionEditor<Product>(CellsKind.ProductDescription, Invoice, source.Products, x => x.Name);
}
#endregion
#region CustomerStores Management
void UpdateCustomerStores() {
source.CustomerStores = editActions.GetCustomerStores(order.CustomerId);
SetDefaultCustomerStore();
UpdateCustomerStoresEditor();
}
void UpdateCustomerStoresEditor() {
UpdateCollectionEditors();
}
void SetDefaultCustomerStore() {
var store = source.CustomerStores.First();
OrderPropertiesHelper.UpdateCustomerStoreIfNeeded(order, store.City, source);
Invoice.Cells[CellsHelper.FindLeftCell(CellsKind.CustomerStoreName)].Value = store.City;
}
#endregion
void CreateCollectionEditors() {
CellsHelper.CreateCollectionEditor<Customer>(CellsKind.CustomerName, Invoice, source.Customers, x => x.Name);
CellsHelper.CreateCollectionEditor<Employee>(CellsKind.EmployeeName, Invoice, source.Employees, x => x.FullName);
UpdateCollectionEditors();
}
void UpdateCollectionEditors() {
CellsHelper.RemoveEditor(CellsKind.CustomerStoreName, Invoice);
CellsHelper.CreateCollectionEditor<CustomerStore>(CellsKind.CustomerStoreName, Invoice, source.CustomerStores, x => x.City);
}
void AsyncUpdateSummaries(OrderItem orderItem, Range orderItemRange) {
System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke((Action)(() => {
orderItem.Discount = (int)CellsHelper.GetOrderItemCellValue(CellsKind.Discount, orderItemRange, Invoice).NumericValue;
orderItem.Total = (int)CellsHelper.GetOrderItemCellValue(CellsKind.Total, orderItemRange, Invoice).NumericValue;
UpdateTotalValues();
}));
}
void UpdateTotalValues() {
order.SaleAmount = (decimal)CellsHelper.GetOrderCellValue(CellsKind.SubTotal, actualOrderItems, Invoice).NumericValue;
order.TotalAmount = (decimal)CellsHelper.GetOrderCellValue(CellsKind.TotalDue, actualOrderItems, Invoice).NumericValue;
}
#region Utils
bool AllowChangeOrder() {
return !(source.IsEmpty && editActions.IsDefaultActions);
}
bool IsOrderItemsRegionModified(Cell cell) {
return cell.Areas.First().IsIntersecting(GetOrderItemsArea().Range);
}
DefinedName GetOrderItemsArea() {
return Invoice.DefinedNames.GetDefinedName("InvoiceItems");
}
int GetOrderItemOffset(Cell cell) {
return cell.TopRowIndex - GetOrderItemsArea().Range.TopRowIndex;
}
int GetOrderItemPropertyOffset(Cell cell) {
return cell.LeftColumnIndex - GetOrderItemsArea().Range.LeftColumnIndex;
}
#endregion
}
public class OrderCollections {
public OrderCollections() {
Customers = Enumerable.Empty<Customer>();
Products = Enumerable.Empty<Product>();
Employees = Enumerable.Empty<Employee>();
CustomerStores = Enumerable.Empty<CustomerStore>();
}
public IEnumerable<Customer> Customers { get; set; }
public IEnumerable<Product> Products { get; set; }
public IEnumerable<Employee> Employees { get; set; }
public IEnumerable<CustomerStore> CustomerStores { get; set; }
public bool IsEmpty { get { return !(Customers.Any() || Products.Any() || Employees.Any() || CustomerStores.Any()); } }
}
public class EditActions {
public EditActions() {
ActivateEditor = () => { };
CloseEditor = () => { };
GetCustomerStores = x => Enumerable.Empty<CustomerStore>();
CreateOrderItem = () => null;
AddOrderItem = x => { };
RemoveOrderItem = x => { };
IsDefaultActions = true;
}
public Action ActivateEditor { get; set; }
public Action CloseEditor { get; set; }
public Func<long?, IEnumerable<CustomerStore>> GetCustomerStores { get; set; }
public Func<OrderItem> CreateOrderItem { get; set; }
public Action<OrderItem> AddOrderItem { get; set; }
public Action<OrderItem> RemoveOrderItem { get; set; }
public bool IsDefaultActions { get; set; }
}
}

View File

@@ -0,0 +1,75 @@
using DevExpress.Spreadsheet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Range = DevExpress.Spreadsheet.Range;
namespace DevExpress.DevAV.Reports.Spreadsheet {
public static class OrderPropertiesHelper {
public static Dictionary<string, Action<Order, CellValue, OrderCollections>> Setters { get { return propertySetters; } }
static Dictionary<string, Action<Order, CellValue, OrderCollections>> propertySetters = CreatePropertySetters();
static Dictionary<string, Action<Order, CellValue, OrderCollections>> CreatePropertySetters() {
var result = new Dictionary<string, Action<Order, CellValue, OrderCollections>>();
result.Add(CellsHelper.FindLeftCell(CellsKind.Date), (order, value, source) => order.OrderDate = value.DateTimeValue);
result.Add(CellsHelper.FindLeftCell(CellsKind.InvoiceNumber), (order, value, source) => SetIfNumericValue(value, s => order.InvoiceNumber = s));
result.Add(CellsHelper.FindLeftCell(CellsKind.PONumber), (order, value, source) => SetIfNumericValue(value, s => order.PONumber = s));
result.Add(CellsHelper.FindLeftCell(CellsKind.ShipDate), (order, value, source) => order.ShipDate = value.DateTimeValue);
result.Add(CellsHelper.FindLeftCell(CellsKind.ShipVia), (order, value, source) => { order.ShipmentCourier = (ShipmentCourier)Enum.Parse(typeof(ShipmentCourier), value.TextValue); });
result.Add(CellsHelper.FindLeftCell(CellsKind.Terms), (order, value, source) => SetIfNumericValue(value, s => order.OrderTerms = string.Format("{0} Days", s)));
result.Add(CellsHelper.FindLeftCell(CellsKind.CustomerName), (order, value, source) => UpdateCustomerIfNeeded(order, value, source));
result.Add(CellsHelper.FindLeftCell(CellsKind.CustomerStoreName), (order, value, source) => UpdateCustomerStoreIfNeeded(order, value, source));
result.Add(CellsHelper.FindLeftCell(CellsKind.EmployeeName), (order, value, source) => UpdateEmployeeIfNeeded(order, value, source));
result.Add(CellsHelper.FindLeftCell(CellsKind.Comments), (order, value, source) => order.Comments = value.TextValue);
result.Add(CellsHelper.FindLeftCell(CellsKind.Shipping), (order, value, source) => order.ShippingAmount = (decimal)value.NumericValue);
return result;
}
public static void UpdateCustomerIfNeeded(Order order, CellValue value, OrderCollections source) {
var newCustomer = source.Customers.First(x => x.Name == value.TextValue);
if(order.StoreId != newCustomer.Id) {
order.Customer = newCustomer;
order.CustomerId = newCustomer.Id;
}
}
public static void UpdateCustomerStoreIfNeeded(Order order, CellValue value, OrderCollections source) {
var newStore = source.CustomerStores.First(x => x.City == value.TextValue);
if(order.StoreId != newStore.Id) {
order.Store = newStore;
order.StoreId = newStore.Id;
}
}
public static void UpdateEmployeeIfNeeded(Order order, CellValue value, OrderCollections source) {
var newEmployee = source.Employees.First(x => x.FullName == value.TextValue);
if(order.EmployeeId != newEmployee.Id) {
order.Employee = newEmployee;
order.EmployeeId = newEmployee.Id;
}
}
public static void InitializeOrderItem(Range itemRange, OrderItem orderItem) {
itemRange[CellsHelper.GetOffset(CellsKind.ProductDescription)].Value = orderItem.Product != null
? orderItem.Product.Name : string.Empty;
itemRange[CellsHelper.GetOffset(CellsKind.Quantity)].Value = orderItem.ProductUnits > 0 ? orderItem.ProductUnits : 1;
itemRange[CellsHelper.GetOffset(CellsKind.UnitPrice)].Value = (double)orderItem.ProductPrice;
itemRange[CellsHelper.GetOffset(CellsKind.Discount)].Value = (double)orderItem.Discount;
}
public static void UpdateProduct(OrderItem orderItem, CellValue productCell, OrderCollections source) {
var newProduct = source.Products.First(x => x.Name == productCell.TextValue);
orderItem.Product = newProduct;
orderItem.ProductId = newProduct.Id;
}
public static void UpdateProductUnits(OrderItem orderItem, Range orderItemRange, Worksheet invoice) {
orderItem.ProductUnits = (int)CellsHelper.GetOrderItemCellValue(CellsKind.Quantity, orderItemRange, invoice).NumericValue;
}
public static void UpdateProductPrice(Cell cell, OrderItem orderItem, Range orderItemRange) {
if(CellsHelper.IsOrderItemProductCell(cell, orderItemRange)) {
orderItemRange[CellsHelper.GetOffset(CellsKind.UnitPrice)].Value = (double)orderItem.Product.SalePrice;
orderItem.ProductPrice = orderItem.Product.SalePrice;
}
}
static void SetIfNumericValue(CellValue value, Action<string> setValue) {
if(value.IsNumeric)
setValue.Invoke(value.NumericValue.ToString("F0"));
}
}
}

View File

@@ -0,0 +1,442 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DevExpress.DevAV.Reports {
public class SalesAnalysis : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XtraReports.UI.XRPictureBox xrPictureBox2;
private XtraReports.Parameters.Parameter paramYears;
private XtraReports.UI.XRPageInfo xrPageInfo2;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.XRTable xrTable1;
private XtraReports.UI.XRTableRow xrTableRow1;
private XtraReports.UI.XRTableCell xrTableCell1;
private XtraReports.UI.XRTableCell xrTableCell2;
private XtraReports.UI.XRChart xrChart1;
private XtraReports.UI.XRTable xrTable8;
private XtraReports.UI.XRTableRow xrTableRow12;
private XtraReports.UI.XRTableCell xrTableCell18;
private XtraReports.UI.XRTableRow xrTableRow13;
private XtraReports.UI.XRTableCell xrTableCell19;
private XtraReports.UI.XRTableRow xrTableRow14;
private XtraReports.UI.XRTableCell xrTableCell20;
private XtraReports.UI.XRTableRow xrTableRow15;
private XtraReports.UI.XRTableCell xrTableCell21;
private XtraReports.UI.XRTableRow xrTableRow16;
private XtraReports.UI.XRTableCell xrTableCell22;
private XtraReports.UI.XRTableRow xrTableRow17;
private XtraReports.UI.XRTableCell xrTableCell23;
private XtraReports.UI.CalculatedField orderDate;
private XtraReports.UI.CalculatedField costSold;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
public SalesAnalysis() {
InitializeComponent();
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SalesAnalysis));
DevExpress.XtraCharts.SimpleDiagram simpleDiagram1 = new DevExpress.XtraCharts.SimpleDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.PieSeriesLabel pieSeriesLabel1 = new DevExpress.XtraCharts.PieSeriesLabel();
DevExpress.XtraCharts.PieSeriesView pieSeriesView1 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraCharts.PieSeriesView pieSeriesView2 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrChart1 = new DevExpress.XtraReports.UI.XRChart();
this.xrTable8 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow16 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramYears = new DevExpress.XtraReports.Parameters.Parameter();
this.orderDate = new DevExpress.XtraReports.UI.CalculatedField();
this.costSold = new DevExpress.XtraReports.UI.CalculatedField();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox2});
this.topMarginBand1.HeightF = 125F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox2
//
this.xrPictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox2.Image")));
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(470.8333F, 52.08333F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(170.8333F, 56.41184F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.StretchImage;
//
// detailBand1
//
this.detailBand1.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.detailBand1.HeightF = 0F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Order.OrderDate", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.detailBand1.StylePriority.UseFont = false;
this.detailBand1.StylePriority.UseForeColor = false;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 102F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.OrderItem);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1,
this.xrChart1,
this.xrTable8});
this.ReportHeader.HeightF = 303.5417F;
this.ReportHeader.Name = "ReportHeader";
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(641.9999F, 28.71094F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.66666681489878932D;
//
// xrTableCell1
//
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell1.Font = new System.Drawing.Font("Segoe UI", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell1.ForeColor = System.Drawing.Color.White;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseForeColor = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Orders";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.94701867179278676D;
//
// xrTableCell2
//
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell2.Font = new System.Drawing.Font("Segoe UI", 11.5F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "2013 - 2015";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 2.0252039691253749D;
//
// xrChart1
//
this.xrChart1.BorderColor = System.Drawing.Color.Black;
this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
simpleDiagram1.EqualPieSize = false;
this.xrChart1.Diagram = simpleDiagram1;
this.xrChart1.EmptyChartText.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrChart1.EmptyChartText.Text = "\r\n";
this.xrChart1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.Center;
this.xrChart1.Legend.EnableAntialiasing = Utils.DefaultBoolean.True;
this.xrChart1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
this.xrChart1.Legend.EquallySpacedItems = false;
this.xrChart1.Legend.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrChart1.Legend.MarkerSize = new System.Drawing.Size(20, 20);
this.xrChart1.Legend.Padding.Left = 30;
this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 28.71097F);
this.xrChart1.Name = "xrChart1";
series1.ArgumentDataMember = "orderDate";
series1.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
pieSeriesLabel1.TextPattern = "{V:$#,#}";
series1.Label = pieSeriesLabel1;
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
series1.LegendTextPattern = "{A}: {V:$#,#}\n";
series1.Name = "Series 1";
series1.QualitativeSummaryOptions.SummaryFunction = "SUM([Total])";
series1.SynchronizePointOptions = false;
pieSeriesView1.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
pieSeriesView1.RuntimeExploding = false;
pieSeriesView1.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
series1.View = pieSeriesView1;
this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1};
this.xrChart1.SeriesTemplate.SynchronizePointOptions = false;
pieSeriesView2.RuntimeExploding = false;
pieSeriesView2.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
this.xrChart1.SeriesTemplate.View = pieSeriesView2;
this.xrChart1.SizeF = new System.Drawing.SizeF(366.6193F, 274.8307F);
//
// xrTable8
//
this.xrTable8.LocationFloat = new DevExpress.Utils.PointFloat(402.7133F, 81.83333F);
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow12,
this.xrTableRow13,
this.xrTableRow14,
this.xrTableRow15,
this.xrTableRow16,
this.xrTableRow17});
this.xrTable8.SizeF = new System.Drawing.SizeF(238.9533F, 158.0092F);
//
// xrTableRow12
//
this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18});
this.xrTableRow12.Name = "xrTableRow12";
this.xrTableRow12.Weight = 0.77837459842722589D;
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.Text = "Total orders ";
this.xrTableCell18.Weight = 3D;
//
// xrTableRow13
//
this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19});
this.xrTableRow13.Name = "xrTableRow13";
this.xrTableRow13.Weight = 1.0424314011909091D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell19.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.69866359482761187D;
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Total cost of goods sold";
this.xrTableCell20.Weight = 3D;
//
// xrTableRow15
//
this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell21});
this.xrTableRow15.Name = "xrTableRow15";
this.xrTableRow15.Weight = 1.1819583095512345D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "costSold")});
this.xrTableCell21.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell21.Summary = xrSummary2;
this.xrTableCell21.Weight = 3D;
//
// xrTableRow16
//
this.xrTableRow16.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22});
this.xrTableRow16.Name = "xrTableRow16";
this.xrTableRow16.Weight = 0.65786547518207683D;
//
// xrTableCell22
//
this.xrTableCell22.CanGrow = false;
this.xrTableCell22.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.Text = "Total units sold ";
this.xrTableCell22.Weight = 3D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 1.0400433368797812D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell23.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseFont = false;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell23.Summary = xrSummary3;
this.xrTableCell23.Weight = 3D;
//
// paramYears
//
this.paramYears.Description = "Years";
this.paramYears.Name = "paramYears";
this.paramYears.ValueInfo = "2013, 2014, 2015";
this.paramYears.Visible = false;
//
// orderDate
//
this.orderDate.Expression = "GetYear([Order.OrderDate])";
this.orderDate.FieldType = DevExpress.XtraReports.UI.FieldType.Int32;
this.orderDate.Name = "orderDate";
//
// costSold
//
this.costSold.Expression = "[Product.Cost] * [ProductUnits]";
this.costSold.Name = "costSold";
//
// SalesAnalysis
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.orderDate,
this.costSold});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(104, 104, 125, 102);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramYears});
this.Version = "14.1";
this.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.EmployeeSummary_BeforePrint);
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void EmployeeSummary_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
string stringYears = (string)paramYears.Value;
bool isEmptyYears = string.IsNullOrEmpty(stringYears);
this.ReportHeader.Visible = !isEmptyYears;
if(isEmptyYears)
return;
string[] years = stringYears.Split(',').ToArray();
SetOrdersText(years);
SetFilterString(years);
}
void SetFilterString(string[] years){
string[] filterYears = new string[years.Length];
for(int i = 0; i < years.Length; i++) {
filterYears[i] = "[Order.OrderDate.Year] == " + years[i];
}
this.FilterString = string.Join(" || ", filterYears);
}
void SetOrdersText(string[] years) {
int countYears = years.Length;
if(countYears > 1 && Convert.ToInt32(years[countYears - 1]) - Convert.ToInt32(years[0]) == countYears - 1) {
xrTableCell2.Text = string.Join(" - ", new string[] { years[0], years[countYears - 1] });
} else {
xrTableCell2.Text = (string)paramYears.Value;
}
}
}
}

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Mk+4YgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,442 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DevExpress.DevAV.Reports {
public class SalesAnalysisReport : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XtraReports.UI.XRPictureBox xrPictureBox2;
private XtraReports.Parameters.Parameter paramYears;
private XtraReports.UI.XRPageInfo xrPageInfo2;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.XRTable xrTable1;
private XtraReports.UI.XRTableRow xrTableRow1;
private XtraReports.UI.XRTableCell xrTableCell1;
private XtraReports.UI.XRTableCell xrTableCell2;
private XtraReports.UI.XRChart xrChart1;
private XtraReports.UI.XRTable xrTable8;
private XtraReports.UI.XRTableRow xrTableRow12;
private XtraReports.UI.XRTableCell xrTableCell18;
private XtraReports.UI.XRTableRow xrTableRow13;
private XtraReports.UI.XRTableCell xrTableCell19;
private XtraReports.UI.XRTableRow xrTableRow14;
private XtraReports.UI.XRTableCell xrTableCell20;
private XtraReports.UI.XRTableRow xrTableRow15;
private XtraReports.UI.XRTableCell xrTableCell21;
private XtraReports.UI.XRTableRow xrTableRow16;
private XtraReports.UI.XRTableCell xrTableCell22;
private XtraReports.UI.XRTableRow xrTableRow17;
private XtraReports.UI.XRTableCell xrTableCell23;
private XtraReports.UI.CalculatedField orderDate;
private XtraReports.UI.CalculatedField costSold;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
public SalesAnalysisReport() {
InitializeComponent();
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SalesAnalysisReport));
DevExpress.XtraCharts.SimpleDiagram simpleDiagram1 = new DevExpress.XtraCharts.SimpleDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.PieSeriesLabel pieSeriesLabel1 = new DevExpress.XtraCharts.PieSeriesLabel();
DevExpress.XtraCharts.PieSeriesView pieSeriesView1 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraCharts.PieSeriesView pieSeriesView2 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox2 = new DevExpress.XtraReports.UI.XRPictureBox();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrChart1 = new DevExpress.XtraReports.UI.XRChart();
this.xrTable8 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow16 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramYears = new DevExpress.XtraReports.Parameters.Parameter();
this.orderDate = new DevExpress.XtraReports.UI.CalculatedField();
this.costSold = new DevExpress.XtraReports.UI.CalculatedField();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox2});
this.topMarginBand1.HeightF = 125F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox2
//
this.xrPictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox2.Image")));
this.xrPictureBox2.LocationFloat = new DevExpress.Utils.PointFloat(470.8333F, 52.08333F);
this.xrPictureBox2.Name = "xrPictureBox2";
this.xrPictureBox2.SizeF = new System.Drawing.SizeF(170.8333F, 56.41184F);
this.xrPictureBox2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.StretchImage;
//
// detailBand1
//
this.detailBand1.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.detailBand1.HeightF = 0F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("OrderDate", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.detailBand1.StylePriority.UseFont = false;
this.detailBand1.StylePriority.UseForeColor = false;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 102F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.SaleAnalisysInfo);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable1,
this.xrChart1,
this.xrTable8});
this.ReportHeader.HeightF = 303.5417F;
this.ReportHeader.Name = "ReportHeader";
//
// xrTable1
//
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(641.9999F, 28.71094F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.66666681489878932D;
//
// xrTableCell1
//
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell1.Font = new System.Drawing.Font("Segoe UI", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell1.ForeColor = System.Drawing.Color.White;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseForeColor = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Orders";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.94701867179278676D;
//
// xrTableCell2
//
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell2.Font = new System.Drawing.Font("Segoe UI", 11.5F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "2013 - 2015";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 2.0252039691253749D;
//
// xrChart1
//
this.xrChart1.BorderColor = System.Drawing.Color.Black;
this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
simpleDiagram1.EqualPieSize = false;
this.xrChart1.Diagram = simpleDiagram1;
this.xrChart1.EmptyChartText.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrChart1.EmptyChartText.Text = "\r\n";
this.xrChart1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.Center;
this.xrChart1.Legend.EnableAntialiasing = Utils.DefaultBoolean.True;
this.xrChart1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
this.xrChart1.Legend.EquallySpacedItems = false;
this.xrChart1.Legend.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrChart1.Legend.MarkerSize = new System.Drawing.Size(20, 20);
this.xrChart1.Legend.Padding.Left = 30;
this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 28.71097F);
this.xrChart1.Name = "xrChart1";
series1.ArgumentDataMember = "orderDate";
series1.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
pieSeriesLabel1.TextPattern = "{V:$#,#}";
series1.Label = pieSeriesLabel1;
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
series1.LegendTextPattern = "{A}: {V:$#,#}\n";
series1.Name = "Series 1";
series1.QualitativeSummaryOptions.SummaryFunction = "SUM([Total])";
series1.SynchronizePointOptions = false;
pieSeriesView1.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
pieSeriesView1.RuntimeExploding = false;
pieSeriesView1.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
series1.View = pieSeriesView1;
this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1};
this.xrChart1.SeriesTemplate.SynchronizePointOptions = false;
pieSeriesView2.RuntimeExploding = false;
pieSeriesView2.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
this.xrChart1.SeriesTemplate.View = pieSeriesView2;
this.xrChart1.SizeF = new System.Drawing.SizeF(366.6193F, 274.8307F);
//
// xrTable8
//
this.xrTable8.LocationFloat = new DevExpress.Utils.PointFloat(402.7133F, 81.83333F);
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow12,
this.xrTableRow13,
this.xrTableRow14,
this.xrTableRow15,
this.xrTableRow16,
this.xrTableRow17});
this.xrTable8.SizeF = new System.Drawing.SizeF(238.9533F, 158.0092F);
//
// xrTableRow12
//
this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18});
this.xrTableRow12.Name = "xrTableRow12";
this.xrTableRow12.Weight = 0.77837459842722589D;
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.Text = "Total orders ";
this.xrTableCell18.Weight = 3D;
//
// xrTableRow13
//
this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19});
this.xrTableRow13.Name = "xrTableRow13";
this.xrTableRow13.Weight = 1.0424314011909091D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell19.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.69866359482761187D;
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Total cost of goods sold";
this.xrTableCell20.Weight = 3D;
//
// xrTableRow15
//
this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell21});
this.xrTableRow15.Name = "xrTableRow15";
this.xrTableRow15.Weight = 1.1819583095512345D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "costSold")});
this.xrTableCell21.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell21.Summary = xrSummary2;
this.xrTableCell21.Weight = 3D;
//
// xrTableRow16
//
this.xrTableRow16.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22});
this.xrTableRow16.Name = "xrTableRow16";
this.xrTableRow16.Weight = 0.65786547518207683D;
//
// xrTableCell22
//
this.xrTableCell22.CanGrow = false;
this.xrTableCell22.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.Text = "Total units sold ";
this.xrTableCell22.Weight = 3D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 1.0400433368797812D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell23.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseFont = false;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell23.Summary = xrSummary3;
this.xrTableCell23.Weight = 3D;
//
// paramYears
//
this.paramYears.Description = "Years";
this.paramYears.Name = "paramYears";
this.paramYears.ValueInfo = "2013, 2014, 2015";
this.paramYears.Visible = false;
//
// orderDate
//
this.orderDate.Expression = "GetYear([OrderDate])";
this.orderDate.FieldType = DevExpress.XtraReports.UI.FieldType.Int32;
this.orderDate.Name = "orderDate";
//
// costSold
//
this.costSold.Expression = "[ProductCost] * [ProductUnits]";
this.costSold.Name = "costSold";
//
// SalesAnalysisReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader});
this.CalculatedFields.AddRange(new DevExpress.XtraReports.UI.CalculatedField[] {
this.orderDate,
this.costSold});
this.DataSource = this.bindingSource1;
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(104, 104, 125, 102);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramYears});
this.Version = "14.1";
this.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.EmployeeSummary_BeforePrint);
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void EmployeeSummary_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
string stringYears = (string)paramYears.Value;
bool isEmptyYears = string.IsNullOrEmpty(stringYears);
this.ReportHeader.Visible = !isEmptyYears;
if(isEmptyYears)
return;
string[] years = stringYears.Split(',').ToArray();
SetOrdersText(years);
SetFilterString(years);
}
void SetFilterString(string[] years){
string[] filterYears = new string[years.Length];
for(int i = 0; i < years.Length; i++) {
filterYears[i] = "[OrderDate.Year] == " + years[i];
}
this.FilterString = string.Join(" || ", filterYears);
}
void SetOrdersText(string[] years) {
int countYears = years.Length;
if(countYears > 1 && Convert.ToInt32(years[countYears - 1]) - Convert.ToInt32(years[0]) == countYears - 1) {
xrTableCell2.Text = string.Join(" - ", new string[] { years[0], years[countYears - 1] });
} else {
xrTableCell2.Text = (string)paramYears.Value;
}
}
}
}

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Mk+4YgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBoxLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Mk+4YgAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@@ -0,0 +1,847 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.XtraReports.UI;
using System.Reflection;
using System.Drawing;
using System.Data;
namespace DevExpress.DevAV.Reports {
public class SalesOrdersSummary : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.XRPictureBox xrPictureBox1;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XRPageInfo xrPageInfo2;
private XRTable xrTable1;
private XRTableRow xrTableRow1;
private XRTableCell xrTableCell1;
private XRTableCell xrTableCell2;
private XRTable xrTable4;
private XRTableRow xrTableRow6;
private XRTableCell xrTableCell3;
private XRTableCell xrTableCell6;
private XRTable xrTable7;
private XRTableRow xrTableRow11;
private XRTableCell xrTableCell36;
private XRTableCell xrTableCell37;
private XRTableCell xrTableCell38;
private XRTableCell xrTableCell39;
private XRTableCell xrTableCell40;
private XRTableCell xrTableCell41;
private XRTable xrTable6;
private XRTableRow xrTableRow10;
private XRTableCell xrTableCell30;
private XRTableCell xrTableCell31;
private XRTableCell xrTableCell32;
private XRTableCell xrTableCell33;
private XRTableCell xrTableCell34;
private XRTableCell xrTableCell35;
private XRLabel xrLabel4;
private XRLabel xrLabel5;
private GroupHeaderBand GroupHeader1;
private GroupFooterBand GroupFooter1;
private XRTable xrTable5;
private XRTableRow xrTableRow9;
private XRTableCell xrTableCell16;
private XRTableCell xrTableCell17;
private XRTable xrTable8;
private XRTableRow xrTableRow12;
private XRTableCell xrTableCell18;
private XRTableRow xrTableRow13;
private XRTableCell xrTableCell19;
private XRTableRow xrTableRow14;
private XRTableCell xrTableCell20;
private XRTableRow xrTableRow15;
private XRTableCell xrTableCell21;
private XRTableRow xrTableRow16;
private XRTableCell xrTableCell22;
private XRTableRow xrTableRow17;
private XRTableCell xrTableCell23;
private Color backCellColor = System.Drawing.Color.FromArgb(223, 223, 223);
private Color foreCellColor = System.Drawing.Color.FromArgb(221, 128, 71);
private XtraReports.Parameters.Parameter paramFromDate;
private XRChart xrChart1;
private XtraReports.Parameters.Parameter paramOrderDate;
Dictionary<CustomerStore, decimal> storeSales = new Dictionary<CustomerStore, decimal>();
private XtraReports.Parameters.Parameter paramToDate;
public SalesOrdersSummary() {
InitializeComponent();
ParameterHelper.InitializeDateTimeParameters(paramFromDate, paramToDate);
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SalesOrdersSummary));
DevExpress.XtraCharts.SimpleDiagram simpleDiagram1 = new DevExpress.XtraCharts.SimpleDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.PieSeriesLabel pieSeriesLabel1 = new DevExpress.XtraCharts.PieSeriesLabel();
DevExpress.XtraCharts.PieSeriesView pieSeriesView1 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraCharts.PieSeriesView pieSeriesView2 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary5 = new DevExpress.XtraReports.UI.XRSummary();
this.paramFromDate = new DevExpress.XtraReports.Parameters.Parameter();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable7 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrChart1 = new DevExpress.XtraReports.UI.XRChart();
this.xrTable8 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow16 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramToDate = new DevExpress.XtraReports.Parameters.Parameter();
this.paramOrderDate = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// paramFromDate
//
this.paramFromDate.Description = "ParamFromDate";
this.paramFromDate.Name = "paramFromDate";
this.paramFromDate.Type = typeof(System.DateTime);
this.paramFromDate.ValueInfo = "2013-01-01";
this.paramFromDate.Visible = false;
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.topMarginBand1.HeightF = 119F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(473.9583F, 51F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(170.8333F, 56.41184F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.StretchImage;
//
// detailBand1
//
this.detailBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable7});
this.detailBand1.HeightF = 20.27876F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Order.InvoiceNumber", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
//
// xrTable7
//
this.xrTable7.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable7.LocationFloat = new DevExpress.Utils.PointFloat(2.05829E-05F, 0F);
this.xrTable7.Name = "xrTable7";
this.xrTable7.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable7.SizeF = new System.Drawing.SizeF(650F, 20.27876F);
this.xrTable7.StylePriority.UseFont = false;
this.xrTable7.StylePriority.UseForeColor = false;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell39,
this.xrTableCell40,
this.xrTableCell41});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.StylePriority.UseTextAlignment = false;
this.xrTableRow11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableRow11.Weight = 1D;
//
// xrTableCell36
//
this.xrTableCell36.CanGrow = false;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.OrderDate", "{0:MM/dd/yyyy}")});
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell36.Weight = 0.59429261207580253D;
//
// xrTableCell37
//
this.xrTableCell37.CanGrow = false;
this.xrTableCell37.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.InvoiceNumber")});
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.54843580062572306D;
//
// xrTableCell38
//
this.xrTableCell38.CanGrow = false;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell38.Weight = 0.399939912733946D;
//
// xrTableCell39
//
this.xrTableCell39.CanGrow = false;
this.xrTableCell39.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductPrice", "{0:$#,#}")});
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.40955509665451173D;
//
// xrTableCell40
//
this.xrTableCell40.CanGrow = false;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount", "{0:$#,#;$#,#; - }")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell40.Weight = 0.35327297724209294D;
//
// xrTableCell41
//
this.xrTableCell41.CanGrow = false;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total", "{0:$#,#}")});
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell41.StylePriority.UsePadding = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell41.Weight = 0.69450360066792372D;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 93.37114F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.OrderItem);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrChart1,
this.xrTable8,
this.xrTable1,
this.xrTable4});
this.ReportHeader.HeightF = 359.2917F;
this.ReportHeader.Name = "ReportHeader";
//
// xrChart1
//
this.xrChart1.BorderColor = System.Drawing.Color.Black;
this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
simpleDiagram1.EqualPieSize = false;
this.xrChart1.Diagram = simpleDiagram1;
this.xrChart1.EmptyChartText.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrChart1.EmptyChartText.Text = "\r\n";
this.xrChart1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.Center;
this.xrChart1.Legend.EnableAntialiasing = Utils.DefaultBoolean.True;
this.xrChart1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
this.xrChart1.Legend.EquallySpacedItems = false;
this.xrChart1.Legend.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrChart1.Legend.MarkerSize = new System.Drawing.Size(20, 20);
this.xrChart1.Legend.Padding.Left = 30;
this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 37.375F);
this.xrChart1.Name = "xrChart1";
series1.ArgumentDataMember = "Product.Category";
series1.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
pieSeriesLabel1.TextPattern = "{V:$#,#}";
series1.Label = pieSeriesLabel1;
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
series1.LegendTextPattern = "{A}\n{V:$#,#}\n";
series1.Name = "Series 1";
series1.QualitativeSummaryOptions.SummaryFunction = "SUM([Total])";
series1.SynchronizePointOptions = false;
pieSeriesView1.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
pieSeriesView1.RuntimeExploding = false;
pieSeriesView1.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
series1.View = pieSeriesView1;
this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1};
this.xrChart1.SeriesTemplate.SynchronizePointOptions = false;
pieSeriesView2.RuntimeExploding = false;
pieSeriesView2.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
this.xrChart1.SeriesTemplate.View = pieSeriesView2;
this.xrChart1.SizeF = new System.Drawing.SizeF(356.6193F, 248.0208F);
//
// xrTable8
//
this.xrTable8.LocationFloat = new DevExpress.Utils.PointFloat(407.0465F, 85.10419F);
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow12,
this.xrTableRow13,
this.xrTableRow14,
this.xrTableRow15,
this.xrTableRow16,
this.xrTableRow17});
this.xrTable8.SizeF = new System.Drawing.SizeF(242.9535F, 175.5873F);
//
// xrTableRow12
//
this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18});
this.xrTableRow12.Name = "xrTableRow12";
this.xrTableRow12.Weight = 0.77837459842722589D;
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.Text = "Total sales in date range was";
this.xrTableCell18.Weight = 3D;
//
// xrTableRow13
//
this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19});
this.xrTableRow13.Name = "xrTableRow13";
this.xrTableRow13.Weight = 1.3828073576824858D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell19.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.83881804389028847D;
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Total discounts on orders was ";
this.xrTableCell20.Weight = 3D;
//
// xrTableRow15
//
this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell21});
this.xrTableRow15.Name = "xrTableRow15";
this.xrTableRow15.Weight = 1.28206876997332D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount")});
this.xrTableCell21.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell21.Summary = xrSummary2;
this.xrTableCell21.Weight = 3D;
//
// xrTableRow16
//
this.xrTableRow16.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22});
this.xrTableRow16.Name = "xrTableRow16";
this.xrTableRow16.Weight = 0.71793123002668D;
//
// xrTableCell22
//
this.xrTableCell22.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.Text = "Top-selling store was";
this.xrTableCell22.Weight = 3D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 1D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell23.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseFont = false;
xrSummary3.Func = DevExpress.XtraReports.UI.SummaryFunc.Custom;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell23.Summary = xrSummary3;
this.xrTableCell23.Weight = 3D;
this.xrTableCell23.SummaryGetResult += new DevExpress.XtraReports.UI.SummaryGetResultHandler(this.xrTableCell23_SummaryGetResult);
this.xrTableCell23.SummaryReset += new System.EventHandler(this.xrTableCell23_SummaryReset);
this.xrTableCell23.SummaryRowChanged += new System.EventHandler(this.xrTableCell23_SummaryRowChanged);
//
// xrTable1
//
this.xrTable1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(647.9999F, 37.5F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.3333334941638817D;
//
// xrTableCell1
//
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell1.ForeColor = System.Drawing.Color.White;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseForeColor = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Analysis";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.8195229174103581D;
//
// xrTableCell2
//
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "July 1, 2013 to July 31, 2013";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 2.1804770825896416D;
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 301.0417F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 37.5F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell6});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 1.3333334941638817D;
//
// xrTableCell3
//
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell3.ForeColor = System.Drawing.Color.White;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBackColor = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Orders";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.8195229174103581D;
//
// xrTableCell6
//
this.xrTableCell6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBackColor = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 2.1804770825896416D;
//
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.ForeColor = System.Drawing.Color.Gray;
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 64.00003F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable6.SizeF = new System.Drawing.SizeF(650F, 24.99998F);
this.xrTable6.StylePriority.UseFont = false;
this.xrTable6.StylePriority.UseForeColor = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell30,
this.xrTableCell31,
this.xrTableCell32,
this.xrTableCell33,
this.xrTableCell34,
this.xrTableCell35});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell30
//
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell30.StylePriority.UsePadding = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
this.xrTableCell30.Text = "ORDER DATE";
this.xrTableCell30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell30.Weight = 0.65655051378103091D;
//
// xrTableCell31
//
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseTextAlignment = false;
this.xrTableCell31.Text = "INVOICE #";
this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell31.Weight = 0.48617789892049473D;
//
// xrTableCell32
//
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "QTY";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.399939912733946D;
//
// xrTableCell33
//
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "PRICE";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell33.Weight = 0.40955509665451173D;
//
// xrTableCell34
//
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "DISCOUNT";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell34.Weight = 0.35327269554137175D;
//
// xrTableCell35
//
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "ORDER AMOUNT";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.6945038823686448D;
//
// xrLabel4
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel4.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999992F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(156.25F, 31.33335F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UsePadding = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrLabel4.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.xrLabel4_BeforePrint);
//
// xrLabel5
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel5.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(156.25F, 7.999996F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(200.3693F, 31.33335F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
xrSummary4.FormatString = "| # OF ORDERS: {0}";
xrSummary4.Func = DevExpress.XtraReports.UI.SummaryFunc.Count;
xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrLabel5.Summary = xrSummary4;
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel5,
this.xrTable6,
this.xrLabel4});
this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Product.Category", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail;
this.GroupHeader1.HeightF = 89.00002F;
this.GroupHeader1.Name = "GroupHeader1";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.GroupFooter1.HeightF = 43.799F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(439.8059F, 18.79899F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable5.SizeF = new System.Drawing.SizeF(210.1941F, 25.00001F);
this.xrTable5.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell16,
this.xrTableCell17});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "TOTAL";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.93984267887268125D;
//
// xrTableCell17
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
xrSummary5.FormatString = "{0:$#,#}";
xrSummary5.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell17.Summary = xrSummary5;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell17.Weight = 1.0653644820811168D;
//
// paramToDate
//
this.paramToDate.Description = "ParamToDate";
this.paramToDate.Name = "paramToDate";
this.paramToDate.Type = typeof(System.DateTime);
this.paramToDate.ValueInfo = "2015-01-01";
this.paramToDate.Visible = false;
//
// paramOrderDate
//
this.paramOrderDate.Description = "ParamOrderDate";
this.paramOrderDate.Name = "paramOrderDate";
this.paramOrderDate.Type = typeof(bool);
this.paramOrderDate.ValueInfo = "True";
this.paramOrderDate.Visible = false;
//
// SalesOrdersSummary
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader,
this.GroupHeader1,
this.GroupFooter1});
this.DataSource = this.bindingSource1;
this.DesignerOptions.ShowExportWarnings = false;
this.FilterString = "[Order.OrderDate] >= ?paramFromDate And [Order.OrderDate] <= ?paramToDate";
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(100, 100, 119, 93);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramFromDate,
this.paramToDate,
this.paramOrderDate});
this.Version = "14.1";
this.DataSourceDemanded += new System.EventHandler<System.EventArgs>(this.CustomerSalesSummary_DataSourceDemanded);
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void xrLabel4_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
Product currentProduct = (Product)GetCurrentColumnValue("Product");
if(currentProduct != null)
(sender as XRLabel).Text = EnumDisplayTextHelper.GetDisplayText(currentProduct.Category).ToUpper();
}
private void CustomerSalesSummary_DataSourceDemanded(object sender, EventArgs e) {
if(Equals(true, paramOrderDate.Value)) {
xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.detailBand1.SortFields[0].FieldName = "Order.OrderDate";
} else {
xrTableCell6.Text = "Grouped by Category | Sorted by Invoice #";
this.detailBand1.SortFields[0].FieldName = "Order.InvoiceNumber";
}
xrTableCell2.Text = ((DateTime)paramFromDate.Value).ToString("MMMM d, yyyy") + " to " + ((DateTime)paramToDate.Value).ToString("MMMM d, yyyy");
}
private void xrTableCell23_SummaryRowChanged(object sender, EventArgs e) {
CustomerStore currentStore = ((Order)GetCurrentColumnValue("Order")).Store;
decimal total = (decimal)GetCurrentColumnValue("Total");
if(storeSales.ContainsKey(currentStore)) {
storeSales[currentStore] += total;
} else {
storeSales.Add(currentStore, total);
}
}
private void xrTableCell23_SummaryGetResult(object sender, SummaryGetResultEventArgs e) {
if(storeSales.Count == 0)
e.Result = " - ";
else {
CustomerStore topStore = storeSales.Aggregate((x, y) => x.Value > y.Value ? x : y).Key;
e.Result = topStore.City + " Store (" + topStore.CustomerName + ")";
}
e.Handled = true;
}
private void xrTableCell23_SummaryReset(object sender, EventArgs e) {
storeSales.Clear();
}
}
}

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Mk+4YgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,857 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DevExpress.XtraReports.UI;
using System.Reflection;
using System.Drawing;
using System.Data;
namespace DevExpress.DevAV.Reports {
public class SalesOrdersSummaryReport : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.XRPictureBox xrPictureBox1;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XRPageInfo xrPageInfo2;
private XRTable xrTable1;
private XRTableRow xrTableRow1;
private XRTableCell xrTableCell1;
private XRTableCell xrTableCell2;
private XRTable xrTable4;
private XRTableRow xrTableRow6;
private XRTableCell xrTableCell3;
private XRTableCell xrTableCell6;
private XRTable xrTable7;
private XRTableRow xrTableRow11;
private XRTableCell xrTableCell36;
private XRTableCell xrTableCell37;
private XRTableCell xrTableCell38;
private XRTableCell xrTableCell39;
private XRTableCell xrTableCell40;
private XRTableCell xrTableCell41;
private XRTable xrTable6;
private XRTableRow xrTableRow10;
private XRTableCell xrTableCell30;
private XRTableCell xrTableCell31;
private XRTableCell xrTableCell32;
private XRTableCell xrTableCell33;
private XRTableCell xrTableCell34;
private XRTableCell xrTableCell35;
private XRLabel xrLabel4;
private XRLabel xrLabel5;
private GroupHeaderBand GroupHeader1;
private GroupFooterBand GroupFooter1;
private XRTable xrTable5;
private XRTableRow xrTableRow9;
private XRTableCell xrTableCell16;
private XRTableCell xrTableCell17;
private XRTable xrTable8;
private XRTableRow xrTableRow12;
private XRTableCell xrTableCell18;
private XRTableRow xrTableRow13;
private XRTableCell xrTableCell19;
private XRTableRow xrTableRow14;
private XRTableCell xrTableCell20;
private XRTableRow xrTableRow15;
private XRTableCell xrTableCell21;
private XRTableRow xrTableRow16;
private XRTableCell xrTableCell22;
private XRTableRow xrTableRow17;
private XRTableCell xrTableCell23;
private Color backCellColor = System.Drawing.Color.FromArgb(223, 223, 223);
private Color foreCellColor = System.Drawing.Color.FromArgb(221, 128, 71);
private XtraReports.Parameters.Parameter paramFromDate;
private XRChart xrChart1;
private XtraReports.Parameters.Parameter paramOrderDate;
private XtraReports.Parameters.Parameter paramToDate;
public SalesOrdersSummaryReport() {
InitializeComponent();
ParameterHelper.InitializeDateTimeParameters(paramFromDate, paramToDate);
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SalesOrdersSummaryReport));
DevExpress.XtraCharts.SimpleDiagram simpleDiagram1 = new DevExpress.XtraCharts.SimpleDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.PieSeriesLabel pieSeriesLabel1 = new DevExpress.XtraCharts.PieSeriesLabel();
DevExpress.XtraCharts.PieSeriesView pieSeriesView1 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraCharts.PieSeriesView pieSeriesView2 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary5 = new DevExpress.XtraReports.UI.XRSummary();
this.paramFromDate = new DevExpress.XtraReports.Parameters.Parameter();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.xrPictureBox1 = new DevExpress.XtraReports.UI.XRPictureBox();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable7 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrChart1 = new DevExpress.XtraReports.UI.XRChart();
this.xrTable8 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow16 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell22 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow17 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell23 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramToDate = new DevExpress.XtraReports.Parameters.Parameter();
this.paramOrderDate = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// paramFromDate
//
this.paramFromDate.Description = "ParamFromDate";
this.paramFromDate.Name = "paramFromDate";
this.paramFromDate.Type = typeof(System.DateTime);
this.paramFromDate.ValueInfo = "2013-01-01";
this.paramFromDate.Visible = false;
//
// topMarginBand1
//
this.topMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPictureBox1});
this.topMarginBand1.HeightF = 119F;
this.topMarginBand1.Name = "topMarginBand1";
//
// xrPictureBox1
//
this.xrPictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("xrPictureBox1.Image")));
this.xrPictureBox1.LocationFloat = new DevExpress.Utils.PointFloat(473.9583F, 51F);
this.xrPictureBox1.Name = "xrPictureBox1";
this.xrPictureBox1.SizeF = new System.Drawing.SizeF(170.8333F, 56.41184F);
this.xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.StretchImage;
//
// detailBand1
//
this.detailBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable7});
this.detailBand1.HeightF = 20.27876F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("InvoiceNumber", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
//
// xrTable7
//
this.xrTable7.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable7.LocationFloat = new DevExpress.Utils.PointFloat(2.05829E-05F, 0F);
this.xrTable7.Name = "xrTable7";
this.xrTable7.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable7.SizeF = new System.Drawing.SizeF(650F, 20.27876F);
this.xrTable7.StylePriority.UseFont = false;
this.xrTable7.StylePriority.UseForeColor = false;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell39,
this.xrTableCell40,
this.xrTableCell41});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.StylePriority.UseTextAlignment = false;
this.xrTableRow11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableRow11.Weight = 1D;
//
// xrTableCell36
//
this.xrTableCell36.CanGrow = false;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "OrderDate", "{0:MM/dd/yyyy}")});
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell36.Weight = 0.59429261207580253D;
//
// xrTableCell37
//
this.xrTableCell37.CanGrow = false;
this.xrTableCell37.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "InvoiceNumber")});
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.54843580062572306D;
//
// xrTableCell38
//
this.xrTableCell38.CanGrow = false;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell38.Weight = 0.399939912733946D;
//
// xrTableCell39
//
this.xrTableCell39.CanGrow = false;
this.xrTableCell39.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductPrice", "{0:$#,#}")});
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.40955509665451173D;
//
// xrTableCell40
//
this.xrTableCell40.CanGrow = false;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount", "{0:$#,#;$#,#; - }")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell40.Weight = 0.35327297724209294D;
//
// xrTableCell41
//
this.xrTableCell41.CanGrow = false;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total", "{0:$#,#}")});
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell41.StylePriority.UsePadding = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell41.Weight = 0.69450360066792372D;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 93.37114F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.SaleSummaryInfo);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrChart1,
this.xrTable8,
this.xrTable1,
this.xrTable4});
this.ReportHeader.HeightF = 359.2917F;
this.ReportHeader.Name = "ReportHeader";
//
// xrChart1
//
this.xrChart1.BorderColor = System.Drawing.Color.Black;
this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
simpleDiagram1.EqualPieSize = false;
this.xrChart1.Diagram = simpleDiagram1;
this.xrChart1.EmptyChartText.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrChart1.EmptyChartText.Text = "\r\n";
this.xrChart1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.Center;
this.xrChart1.Legend.EnableAntialiasing = Utils.DefaultBoolean.True;
this.xrChart1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
this.xrChart1.Legend.EquallySpacedItems = false;
this.xrChart1.Legend.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrChart1.Legend.MarkerSize = new System.Drawing.Size(20, 20);
this.xrChart1.Legend.Padding.Left = 30;
this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 37.375F);
this.xrChart1.Name = "xrChart1";
series1.ArgumentDataMember = "ProductCategory";
series1.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
pieSeriesLabel1.TextPattern = "{V:$#,#}";
series1.Label = pieSeriesLabel1;
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
series1.LegendTextPattern = "{A}\n{V:$#,#}\n";
series1.Name = "Series 1";
series1.QualitativeSummaryOptions.SummaryFunction = "SUM([Total])";
series1.SynchronizePointOptions = false;
pieSeriesView1.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
pieSeriesView1.RuntimeExploding = false;
pieSeriesView1.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
series1.View = pieSeriesView1;
this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1};
this.xrChart1.SeriesTemplate.SynchronizePointOptions = false;
pieSeriesView2.RuntimeExploding = false;
pieSeriesView2.SweepDirection = DevExpress.XtraCharts.PieSweepDirection.Counterclockwise;
this.xrChart1.SeriesTemplate.View = pieSeriesView2;
this.xrChart1.SizeF = new System.Drawing.SizeF(356.6193F, 248.0208F);
//
// xrTable8
//
this.xrTable8.LocationFloat = new DevExpress.Utils.PointFloat(407.0465F, 85.10419F);
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow12,
this.xrTableRow13,
this.xrTableRow14,
this.xrTableRow15,
this.xrTableRow16,
this.xrTableRow17});
this.xrTable8.SizeF = new System.Drawing.SizeF(242.9535F, 175.5873F);
//
// xrTableRow12
//
this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18});
this.xrTableRow12.Name = "xrTableRow12";
this.xrTableRow12.Weight = 0.77837459842722589D;
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.Text = "Total sales in date range was";
this.xrTableCell18.Weight = 3D;
//
// xrTableRow13
//
this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19});
this.xrTableRow13.Name = "xrTableRow13";
this.xrTableRow13.Weight = 1.3828073576824858D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell19.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.83881804389028847D;
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Total discounts on orders was ";
this.xrTableCell20.Weight = 3D;
//
// xrTableRow15
//
this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell21});
this.xrTableRow15.Name = "xrTableRow15";
this.xrTableRow15.Weight = 1.28206876997332D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount")});
this.xrTableCell21.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell21.Summary = xrSummary2;
this.xrTableCell21.Weight = 3D;
//
// xrTableRow16
//
this.xrTableRow16.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell22});
this.xrTableRow16.Name = "xrTableRow16";
this.xrTableRow16.Weight = 0.71793123002668D;
//
// xrTableCell22
//
this.xrTableCell22.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell22.Name = "xrTableCell22";
this.xrTableCell22.StylePriority.UseFont = false;
this.xrTableCell22.Text = "Top-selling store was";
this.xrTableCell22.Weight = 3D;
//
// xrTableRow17
//
this.xrTableRow17.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell23});
this.xrTableRow17.Name = "xrTableRow17";
this.xrTableRow17.Weight = 1D;
//
// xrTableCell23
//
this.xrTableCell23.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell23.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell23.Name = "xrTableCell23";
this.xrTableCell23.StylePriority.UseFont = false;
xrSummary3.Func = DevExpress.XtraReports.UI.SummaryFunc.Custom;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell23.Summary = xrSummary3;
this.xrTableCell23.Weight = 3D;
this.xrTableCell23.SummaryGetResult += new DevExpress.XtraReports.UI.SummaryGetResultHandler(this.xrTableCell23_SummaryGetResult);
this.xrTableCell23.SummaryReset += new System.EventHandler(this.xrTableCell23_SummaryReset);
this.xrTableCell23.SummaryRowChanged += new System.EventHandler(this.xrTableCell23_SummaryRowChanged);
//
// xrTable1
//
this.xrTable1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(647.9999F, 37.5F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.3333334941638817D;
//
// xrTableCell1
//
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell1.ForeColor = System.Drawing.Color.White;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseForeColor = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Analysis";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.8195229174103581D;
//
// xrTableCell2
//
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "July 1, 2013 to July 31, 2013";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 2.1804770825896416D;
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 301.0417F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 37.5F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell6});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 1.3333334941638817D;
//
// xrTableCell3
//
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell3.ForeColor = System.Drawing.Color.White;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBackColor = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Orders";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.8195229174103581D;
//
// xrTableCell6
//
this.xrTableCell6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBackColor = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 2.1804770825896416D;
//
// xrTable6
//
this.xrTable6.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.ForeColor = System.Drawing.Color.Gray;
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 64.00003F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable6.SizeF = new System.Drawing.SizeF(650F, 24.99998F);
this.xrTable6.StylePriority.UseFont = false;
this.xrTable6.StylePriority.UseForeColor = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell30,
this.xrTableCell31,
this.xrTableCell32,
this.xrTableCell33,
this.xrTableCell34,
this.xrTableCell35});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell30
//
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell30.StylePriority.UsePadding = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
this.xrTableCell30.Text = "ORDER DATE";
this.xrTableCell30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell30.Weight = 0.65655051378103091D;
//
// xrTableCell31
//
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseTextAlignment = false;
this.xrTableCell31.Text = "INVOICE #";
this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell31.Weight = 0.48617789892049473D;
//
// xrTableCell32
//
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "QTY";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.399939912733946D;
//
// xrTableCell33
//
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "PRICE";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell33.Weight = 0.40955509665451173D;
//
// xrTableCell34
//
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "DISCOUNT";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell34.Weight = 0.35327269554137175D;
//
// xrTableCell35
//
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "ORDER AMOUNT";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.6945038823686448D;
//
// xrLabel4
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductCategory")});
this.xrLabel4.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999992F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(156.25F, 31.33335F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UsePadding = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrLabel4.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.xrLabel4_BeforePrint);
//
// xrLabel5
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductCategory")});
this.xrLabel5.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrLabel5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(156.25F, 7.999996F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(200.3693F, 31.33335F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
xrSummary4.FormatString = "| # OF ORDERS: {0}";
xrSummary4.Func = DevExpress.XtraReports.UI.SummaryFunc.Count;
xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrLabel5.Summary = xrSummary4;
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel5,
this.xrTable6,
this.xrLabel4});
this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("ProductCategory", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail;
this.GroupHeader1.HeightF = 89.00002F;
this.GroupHeader1.Name = "GroupHeader1";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.GroupFooter1.HeightF = 43.799F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(439.8059F, 18.79899F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable5.SizeF = new System.Drawing.SizeF(210.1941F, 25.00001F);
this.xrTable5.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell16,
this.xrTableCell17});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "TOTAL";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.93984267887268125D;
//
// xrTableCell17
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
xrSummary5.FormatString = "{0:$#,#}";
xrSummary5.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell17.Summary = xrSummary5;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell17.Weight = 1.0653644820811168D;
//
// paramToDate
//
this.paramToDate.Description = "ParamToDate";
this.paramToDate.Name = "paramToDate";
this.paramToDate.Type = typeof(System.DateTime);
this.paramToDate.ValueInfo = "2015-01-01";
this.paramToDate.Visible = false;
//
// paramOrderDate
//
this.paramOrderDate.Description = "ParamOrderDate";
this.paramOrderDate.Name = "paramOrderDate";
this.paramOrderDate.Type = typeof(bool);
this.paramOrderDate.ValueInfo = "True";
this.paramOrderDate.Visible = false;
//
// SalesOrdersSummaryReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader,
this.GroupHeader1,
this.GroupFooter1});
this.DataSource = this.bindingSource1;
this.DesignerOptions.ShowExportWarnings = false;
this.FilterString = "[OrderDate] >= ?paramFromDate And [OrderDate] <= ?paramToDate";
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(100, 100, 119, 93);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramFromDate,
this.paramToDate,
this.paramOrderDate});
this.Version = "14.1";
this.DataSourceDemanded += new System.EventHandler<System.EventArgs>(this.CustomerSalesSummary_DataSourceDemanded);
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(simpleDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void xrLabel4_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
var currentProductCategory = GetCurrentColumnValue("ProductCategory");
if(currentProductCategory != null)
(sender as XRLabel).Text = EnumDisplayTextHelper.GetDisplayText((ProductCategory)currentProductCategory).ToUpper();
}
private void CustomerSalesSummary_DataSourceDemanded(object sender, EventArgs e) {
if(Equals(true, paramOrderDate.Value)) {
xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.detailBand1.SortFields[0].FieldName = "OrderDate";
} else {
xrTableCell6.Text = "Grouped by Category | Sorted by Invoice #";
this.detailBand1.SortFields[0].FieldName = "InvoiceNumber";
}
xrTableCell2.Text = ((DateTime)paramFromDate.Value).ToString("MMMM d, yyyy") + " to " + ((DateTime)paramToDate.Value).ToString("MMMM d, yyyy");
}
class StoreInfo {
public StoreInfo(string city, string customerName) {
this.City = city;
this.CustomerName = customerName;
}
public string City { get; private set; }
public string CustomerName { get; private set; }
public decimal TotalSales { get; set; }
}
Dictionary<long, StoreInfo> storeSales = new Dictionary<long, StoreInfo>();
private void xrTableCell23_SummaryRowChanged(object sender, EventArgs e) {
SaleSummaryInfo info = (SaleSummaryInfo)GetCurrentRow();
if(storeSales.ContainsKey(info.StoreId)) {
storeSales[info.StoreId].TotalSales += info.Total;
} else {
storeSales.Add(info.StoreId, new StoreInfo(info.StoreCity, info.StoreCustomerName) { TotalSales = info.Total });
}
}
private void xrTableCell23_SummaryGetResult(object sender, SummaryGetResultEventArgs e) {
if(storeSales.Count == 0)
e.Result = " - ";
else {
StoreInfo topStore = storeSales.Values.Aggregate((x, y) => x.TotalSales> y.TotalSales ? x : y);
e.Result = topStore.City + " Store (" + topStore.CustomerName + ")";
}
e.Handled = true;
}
private void xrTableCell23_SummaryReset(object sender, EventArgs e) {
storeSales.Clear();
}
}
}

View File

@@ -0,0 +1,205 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="xrPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
Mk+4YgAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,737 @@
using System;
using System.Collections.Generic;
using DevExpress.XtraReports.UI;
using System.Drawing;
namespace DevExpress.DevAV.Reports {
public class SalesRevenueAnalysisReport : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XRPageInfo xrPageInfo2;
private XRTable xrTable1;
private XRTableRow xrTableRow1;
private XRTableCell xrTableCell1;
private XRTableCell xrTableCell2;
private XRTable xrTable4;
private XRTableRow xrTableRow6;
private XRTableCell xrTableCell3;
private XRTableCell xrTableCell6;
private XRTable xrTable7;
private XRTableRow xrTableRow11;
private XRTableCell xrTableCell36;
private XRTableCell xrTableCell37;
private XRTableCell xrTableCell38;
private XRTableCell xrTableCell39;
private XRTableCell xrTableCell40;
private XRTableCell xrTableCell41;
private XRTable xrTable6;
private XRTableRow xrTableRow10;
private XRTableCell xrTableCell30;
private XRTableCell xrTableCell31;
private XRTableCell xrTableCell32;
private XRTableCell xrTableCell33;
private XRTableCell xrTableCell34;
private XRTableCell xrTableCell35;
private XRLabel xrLabel4;
private XRLabel xrLabel5;
private GroupHeaderBand GroupHeader1;
private GroupFooterBand GroupFooter1;
private XRTable xrTable5;
private XRTableRow xrTableRow9;
private XRTableCell xrTableCell16;
private XRTableCell xrTableCell17;
private Color backCellColor = System.Drawing.Color.FromArgb(223, 223, 223);
private Color foreCellColor = System.Drawing.Color.FromArgb(221, 128, 71);
private XRChart xrChart1;
private XtraReports.Parameters.Parameter paramOrderDate;
private XRTable xrTable8;
private XRTableRow xrTableRow12;
private XRTableCell xrTableCell18;
private XRTableRow xrTableRow13;
private XRTableCell xrTableCell19;
private XRTableRow xrTableRow14;
private XRTableCell xrTableCell20;
private XRTableRow xrTableRow15;
private XRTableCell xrTableCell21;
Dictionary<CustomerStore, decimal> storeSales = new Dictionary<CustomerStore, decimal>();
public SalesRevenueAnalysisReport() {
InitializeComponent();
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.PieSeriesLabel pieSeriesLabel1 = new DevExpress.XtraCharts.PieSeriesLabel();
DevExpress.XtraCharts.PieSeriesView pieSeriesView1 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraCharts.PieSeriesView pieSeriesView2 = new DevExpress.XtraCharts.PieSeriesView();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable7 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrChart1 = new DevExpress.XtraReports.UI.XRChart();
this.xrTable8 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow12 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow13 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell19 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow14 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell20 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow15 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell21 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramOrderDate = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 119F;
this.topMarginBand1.Name = "topMarginBand1";
//
// detailBand1
//
this.detailBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable7});
this.detailBand1.HeightF = 20.27876F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Order.InvoiceNumber", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
//
// xrTable7
//
this.xrTable7.LocationFloat = new DevExpress.Utils.PointFloat(2.05829E-05F, 0F);
this.xrTable7.Name = "xrTable7";
this.xrTable7.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable7.SizeF = new System.Drawing.SizeF(650F, 20.27876F);
this.xrTable7.StylePriority.UseFont = false;
this.xrTable7.StylePriority.UseForeColor = false;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell39,
this.xrTableCell40,
this.xrTableCell41});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.StylePriority.UseTextAlignment = false;
this.xrTableRow11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableRow11.Weight = 1D;
//
// xrTableCell36
//
this.xrTableCell36.CanGrow = false;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.OrderDate", "{0:MM/dd/yyyy}")});
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell36.Weight = 0.59429261207580253D;
//
// xrTableCell37
//
this.xrTableCell37.CanGrow = false;
this.xrTableCell37.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.InvoiceNumber")});
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.54843580062572306D;
//
// xrTableCell38
//
this.xrTableCell38.CanGrow = false;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell38.Weight = 0.399939912733946D;
//
// xrTableCell39
//
this.xrTableCell39.CanGrow = false;
this.xrTableCell39.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductPrice", "{0:$#,#}")});
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.40955509665451173D;
//
// xrTableCell40
//
this.xrTableCell40.CanGrow = false;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount", "{0:$#,#;$#,#; - }")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell40.Weight = 0.35327297724209294D;
//
// xrTableCell41
//
this.xrTableCell41.CanGrow = false;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total", "{0:$#,#}")});
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell41.StylePriority.UsePadding = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell41.Weight = 0.69450360066792372D;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 93.37114F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.OrderItem);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrChart1,
this.xrTable8,
this.xrTable1,
this.xrTable4});
this.ReportHeader.HeightF = 359.2917F;
this.ReportHeader.Name = "ReportHeader";
//
// xrChart1
//
this.xrChart1.BorderColor = System.Drawing.Color.Black;
this.xrChart1.Borders = DevExpress.XtraPrinting.BorderSide.None;
this.xrChart1.EmptyChartText.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrChart1.EmptyChartText.Text = "\r\n";
this.xrChart1.Legend.AlignmentVertical = DevExpress.XtraCharts.LegendAlignmentVertical.Center;
this.xrChart1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False;
this.xrChart1.Legend.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.True;
this.xrChart1.Legend.EquallySpacedItems = false;
this.xrChart1.Legend.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrChart1.Legend.MarkerSize = new System.Drawing.Size(20, 20);
this.xrChart1.Legend.Name = "Default Legend";
this.xrChart1.Legend.Padding.Left = 30;
this.xrChart1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 37.375F);
this.xrChart1.Name = "xrChart1";
series1.ArgumentDataMember = "Product.Category";
series1.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
pieSeriesLabel1.TextPattern = "{V:$#,#}";
series1.Label = pieSeriesLabel1;
series1.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
series1.LegendTextPattern = "{A}\n{V:$#,#}\n";
series1.Name = "Series 1";
series1.QualitativeSummaryOptions.SummaryFunction = "SUM([Total])";
pieSeriesView1.Border.Visibility = DevExpress.Utils.DefaultBoolean.True;
series1.View = pieSeriesView1;
this.xrChart1.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1};
this.xrChart1.SeriesTemplate.View = pieSeriesView2;
this.xrChart1.SizeF = new System.Drawing.SizeF(356.6193F, 248.0208F);
//
// xrTable8
//
this.xrTable8.LocationFloat = new DevExpress.Utils.PointFloat(407.0465F, 85.10419F);
this.xrTable8.Name = "xrTable8";
this.xrTable8.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow12,
this.xrTableRow13,
this.xrTableRow14,
this.xrTableRow15});
this.xrTable8.SizeF = new System.Drawing.SizeF(242.9535F, 125.3128F);
//
// xrTableRow12
//
this.xrTableRow12.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell18});
this.xrTableRow12.Name = "xrTableRow12";
this.xrTableRow12.Weight = 0.77837459842722589D;
//
// xrTableCell18
//
this.xrTableCell18.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.StylePriority.UseFont = false;
this.xrTableCell18.Text = "Total sales";
this.xrTableCell18.Weight = 3D;
//
// xrTableRow13
//
this.xrTableRow13.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell19});
this.xrTableRow13.Name = "xrTableRow13";
this.xrTableRow13.Weight = 1.3828073576824858D;
//
// xrTableCell19
//
this.xrTableCell19.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell19.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell19.Name = "xrTableCell19";
this.xrTableCell19.StylePriority.UseFont = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell19.Summary = xrSummary1;
this.xrTableCell19.Weight = 3D;
//
// xrTableRow14
//
this.xrTableRow14.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell20});
this.xrTableRow14.Name = "xrTableRow14";
this.xrTableRow14.Weight = 0.83881804389028847D;
//
// xrTableCell20
//
this.xrTableCell20.Font = new System.Drawing.Font("Segoe UI", 10F);
this.xrTableCell20.Name = "xrTableCell20";
this.xrTableCell20.StylePriority.UseFont = false;
this.xrTableCell20.Text = "Total orders discounts";
this.xrTableCell20.Weight = 3D;
//
// xrTableRow15
//
this.xrTableRow15.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell21});
this.xrTableRow15.Name = "xrTableRow15";
this.xrTableRow15.Weight = 1.28206876997332D;
//
// xrTableCell21
//
this.xrTableCell21.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount")});
this.xrTableCell21.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold);
this.xrTableCell21.Name = "xrTableCell21";
this.xrTableCell21.StylePriority.UseFont = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell21.Summary = xrSummary2;
this.xrTableCell21.Weight = 3D;
//
// xrTable1
//
this.xrTable1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow1});
this.xrTable1.SizeF = new System.Drawing.SizeF(647.9999F, 37.5F);
this.xrTable1.StylePriority.UseFont = false;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell2});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 1.3333334941638817D;
//
// xrTableCell1
//
this.xrTableCell1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell1.ForeColor = System.Drawing.Color.White;
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UseBackColor = false;
this.xrTableCell1.StylePriority.UseFont = false;
this.xrTableCell1.StylePriority.UseForeColor = false;
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Analysis";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.8195229174103581D;
//
// xrTableCell2
//
this.xrTableCell2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell2.Font = new System.Drawing.Font("Segoe UI", 11F);
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell2.StylePriority.UseBackColor = false;
this.xrTableCell2.StylePriority.UseFont = false;
this.xrTableCell2.StylePriority.UsePadding = false;
this.xrTableCell2.StylePriority.UseTextAlignment = false;
this.xrTableCell2.Text = "Orders by [Order.Store.CustomerName], [Order.Store.City] ";
this.xrTableCell2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell2.Weight = 2.1804770825896416D;
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 301.0417F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 37.5F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell6});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 1.3333334941638817D;
//
// xrTableCell3
//
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell3.ForeColor = System.Drawing.Color.White;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBackColor = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Orders";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.8195229174103581D;
//
// xrTableCell6
//
this.xrTableCell6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBackColor = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 2.1804770825896416D;
//
// xrTable6
//
this.xrTable6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrTable6.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 64.00003F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable6.SizeF = new System.Drawing.SizeF(650F, 24.99998F);
this.xrTable6.StylePriority.UseBorderColor = false;
this.xrTable6.StylePriority.UseBorders = false;
this.xrTable6.StylePriority.UseFont = false;
this.xrTable6.StylePriority.UseForeColor = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell30,
this.xrTableCell31,
this.xrTableCell32,
this.xrTableCell33,
this.xrTableCell34,
this.xrTableCell35});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell30
//
this.xrTableCell30.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell30.StylePriority.UseFont = false;
this.xrTableCell30.StylePriority.UsePadding = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
this.xrTableCell30.Text = "ORDER DATE";
this.xrTableCell30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell30.Weight = 0.65655051378103091D;
//
// xrTableCell31
//
this.xrTableCell31.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseFont = false;
this.xrTableCell31.StylePriority.UseTextAlignment = false;
this.xrTableCell31.Text = "INVOICE #";
this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell31.Weight = 0.48617789892049473D;
//
// xrTableCell32
//
this.xrTableCell32.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.StylePriority.UseFont = false;
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "QTY";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.399939912733946D;
//
// xrTableCell33
//
this.xrTableCell33.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseFont = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "PRICE";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell33.Weight = 0.40955509665451173D;
//
// xrTableCell34
//
this.xrTableCell34.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseFont = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "DISCOUNT";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell34.Weight = 0.35327269554137175D;
//
// xrTableCell35
//
this.xrTableCell35.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell35.StylePriority.UseFont = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "ORDER AMOUNT";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.6945038823686448D;
//
// xrLabel4
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel4.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 7.999992F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(156.25F, 31.33335F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UsePadding = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrLabel4.BeforePrint += new System.Drawing.Printing.PrintEventHandler(this.xrLabel4_BeforePrint);
//
// xrLabel5
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel5.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrLabel5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(449.6307F, 7.999992F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(200.3693F, 31.33335F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
xrSummary3.FormatString = "| # OF ORDERS: {0}";
xrSummary3.Func = DevExpress.XtraReports.UI.SummaryFunc.Count;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrLabel5.Summary = xrSummary3;
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel5,
this.xrTable6,
this.xrLabel4});
this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Product.Category", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail;
this.GroupHeader1.HeightF = 89.00002F;
this.GroupHeader1.Name = "GroupHeader1";
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.GroupFooter1.HeightF = 43.799F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(439.8059F, 18.79899F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable5.SizeF = new System.Drawing.SizeF(210.1941F, 25.00001F);
this.xrTable5.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell16,
this.xrTableCell17});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "TOTAL";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.93984267887268125D;
//
// xrTableCell17
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
xrSummary4.FormatString = "{0:$#,#}";
xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell17.Summary = xrSummary4;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell17.Weight = 1.0653644820811168D;
//
// paramOrderDate
//
this.paramOrderDate.Description = "ParamOrderDate";
this.paramOrderDate.Name = "paramOrderDate";
this.paramOrderDate.Type = typeof(bool);
this.paramOrderDate.ValueInfo = "True";
this.paramOrderDate.Visible = false;
//
// SalesRevenueAnalysisReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader,
this.GroupHeader1,
this.GroupFooter1});
this.DataSource = this.bindingSource1;
this.DesignerOptions.ShowExportWarnings = false;
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(100, 100, 119, 93);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramOrderDate});
this.Version = "17.2";
this.DataSourceDemanded += new System.EventHandler<System.EventArgs>(this.CustomerSalesSummary_DataSourceDemanded);
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesLabel1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(pieSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrChart1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void xrLabel4_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
Product currentProduct = (Product)GetCurrentColumnValue("Product");
if(currentProduct != null)
(sender as XRLabel).Text = EnumDisplayTextHelper.GetDisplayText(currentProduct.Category).ToUpper();
}
private void CustomerSalesSummary_DataSourceDemanded(object sender, EventArgs e) {
if(Equals(true, paramOrderDate.Value)) {
xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.detailBand1.SortFields[0].FieldName = "Order.OrderDate";
} else {
xrTableCell6.Text = "Grouped by Category | Sorted by Invoice #";
this.detailBand1.SortFields[0].FieldName = "Order.InvoiceNumber";
}
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,656 @@
using System;
using System.Collections.Generic;
using System.Linq;
using DevExpress.XtraReports.UI;
using System.Drawing;
namespace DevExpress.DevAV.Reports {
public class SalesRevenueReport : DevExpress.XtraReports.UI.XtraReport {
private XtraReports.UI.TopMarginBand topMarginBand1;
private XtraReports.UI.DetailBand detailBand1;
private System.Windows.Forms.BindingSource bindingSource1;
private System.ComponentModel.IContainer components;
private XtraReports.UI.BottomMarginBand bottomMarginBand1;
private XtraReports.UI.XRPageInfo xrPageInfo1;
private XtraReports.UI.ReportHeaderBand ReportHeader;
private XRPageInfo xrPageInfo2;
private XRTable xrTable4;
private XRTableRow xrTableRow6;
private XRTableCell xrTableCell3;
private XRTableCell xrTableCell6;
private GroupHeaderBand GroupHeader1;
private GroupFooterBand GroupFooter1;
private XRTable xrTable5;
private XRTableRow xrTableRow9;
private XRTableCell xrTableCell16;
private XRTableCell xrTableCell17;
private Color backCellColor = System.Drawing.Color.FromArgb(223, 223, 223);
private Color foreCellColor = System.Drawing.Color.FromArgb(221, 128, 71);
private XtraReports.Parameters.Parameter paramOrderDate;
Dictionary<CustomerStore, decimal> storeSales = new Dictionary<CustomerStore, decimal>();
private XRTable xrTable2;
private XRTableRow xrTableRow2;
private XRTableCell xrTableCell4;
private XRTableCell xrTableCell7;
private XRTableRow xrTableRow3;
private XRTableCell xrTableCell5;
private XRTableCell xrTableCell8;
private XRLabel xrLabel1;
private XRLabel xrLabel9;
private XRLabel xrLabel4;
private XRTable xrTable6;
private XRTableRow xrTableRow10;
private XRTableCell xrTableCell30;
private XRTableCell xrTableCell31;
private XRTableCell xrTableCell32;
private XRTableCell xrTableCell33;
private XRTableCell xrTableCell34;
private XRTableCell xrTableCell35;
private XRLabel xrLabel5;
private XRTable xrTable7;
private XRTableRow xrTableRow11;
private XRTableCell xrTableCell36;
private XRTableCell xrTableCell37;
private XRTableCell xrTableCell38;
private XRTableCell xrTableCell39;
private XRTableCell xrTableCell40;
private XRTableCell xrTableCell41;
public SalesRevenueReport() {
InitializeComponent();
}
private void InitializeComponent() {
this.components = new System.ComponentModel.Container();
DevExpress.XtraReports.UI.XRSummary xrSummary1 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary2 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary3 = new DevExpress.XtraReports.UI.XRSummary();
DevExpress.XtraReports.UI.XRSummary xrSummary4 = new DevExpress.XtraReports.UI.XRSummary();
this.topMarginBand1 = new DevExpress.XtraReports.UI.TopMarginBand();
this.detailBand1 = new DevExpress.XtraReports.UI.DetailBand();
this.xrTable7 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow11 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell36 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell37 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell38 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell39 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell40 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell41 = new DevExpress.XtraReports.UI.XRTableCell();
this.bottomMarginBand1 = new DevExpress.XtraReports.UI.BottomMarginBand();
this.xrPageInfo2 = new DevExpress.XtraReports.UI.XRPageInfo();
this.xrPageInfo1 = new DevExpress.XtraReports.UI.XRPageInfo();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.ReportHeader = new DevExpress.XtraReports.UI.ReportHeaderBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrLabel9 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable2 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTable4 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow6 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel4 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTable6 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow10 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell30 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell31 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell32 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell33 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell34 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell35 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrLabel5 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrTable5 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow9 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.paramOrderDate = new DevExpress.XtraReports.Parameters.Parameter();
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// topMarginBand1
//
this.topMarginBand1.HeightF = 119F;
this.topMarginBand1.Name = "topMarginBand1";
//
// detailBand1
//
this.detailBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable7});
this.detailBand1.HeightF = 20.27876F;
this.detailBand1.Name = "detailBand1";
this.detailBand1.SortFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Order.InvoiceNumber", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
//
// xrTable7
//
this.xrTable7.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable7.Name = "xrTable7";
this.xrTable7.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow11});
this.xrTable7.SizeF = new System.Drawing.SizeF(650F, 20.27876F);
this.xrTable7.StylePriority.UseFont = false;
this.xrTable7.StylePriority.UseForeColor = false;
//
// xrTableRow11
//
this.xrTableRow11.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell36,
this.xrTableCell37,
this.xrTableCell38,
this.xrTableCell39,
this.xrTableCell40,
this.xrTableCell41});
this.xrTableRow11.Name = "xrTableRow11";
this.xrTableRow11.StylePriority.UseTextAlignment = false;
this.xrTableRow11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableRow11.Weight = 1D;
//
// xrTableCell36
//
this.xrTableCell36.CanGrow = false;
this.xrTableCell36.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.OrderDate", "{0:MM/dd/yyyy}")});
this.xrTableCell36.Name = "xrTableCell36";
this.xrTableCell36.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell36.StylePriority.UsePadding = false;
this.xrTableCell36.StylePriority.UseTextAlignment = false;
this.xrTableCell36.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell36.Weight = 0.59429261207580253D;
//
// xrTableCell37
//
this.xrTableCell37.CanGrow = false;
this.xrTableCell37.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.InvoiceNumber")});
this.xrTableCell37.Name = "xrTableCell37";
this.xrTableCell37.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell37.StylePriority.UsePadding = false;
this.xrTableCell37.StylePriority.UseTextAlignment = false;
this.xrTableCell37.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell37.Weight = 0.54843580062572306D;
//
// xrTableCell38
//
this.xrTableCell38.CanGrow = false;
this.xrTableCell38.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductUnits")});
this.xrTableCell38.Name = "xrTableCell38";
this.xrTableCell38.StylePriority.UseTextAlignment = false;
this.xrTableCell38.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell38.Weight = 0.399939912733946D;
//
// xrTableCell39
//
this.xrTableCell39.CanGrow = false;
this.xrTableCell39.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "ProductPrice", "{0:$#,#}")});
this.xrTableCell39.Name = "xrTableCell39";
this.xrTableCell39.StylePriority.UseTextAlignment = false;
this.xrTableCell39.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell39.Weight = 0.40955509665451173D;
//
// xrTableCell40
//
this.xrTableCell40.CanGrow = false;
this.xrTableCell40.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount", "{0:$#,#;$#,#; - }")});
this.xrTableCell40.Name = "xrTableCell40";
this.xrTableCell40.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell40.StylePriority.UsePadding = false;
this.xrTableCell40.StylePriority.UseTextAlignment = false;
this.xrTableCell40.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell40.Weight = 0.35327297724209294D;
//
// xrTableCell41
//
this.xrTableCell41.CanGrow = false;
this.xrTableCell41.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total", "{0:$#,#}")});
this.xrTableCell41.Name = "xrTableCell41";
this.xrTableCell41.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell41.StylePriority.UsePadding = false;
this.xrTableCell41.StylePriority.UseTextAlignment = false;
this.xrTableCell41.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell41.Weight = 0.69450360066792372D;
//
// bottomMarginBand1
//
this.bottomMarginBand1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrPageInfo2,
this.xrPageInfo1});
this.bottomMarginBand1.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.bottomMarginBand1.HeightF = 93.37114F;
this.bottomMarginBand1.Name = "bottomMarginBand1";
this.bottomMarginBand1.StylePriority.UseFont = false;
//
// xrPageInfo2
//
this.xrPageInfo2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo2.Format = "{0:MMMM d, yyyy}";
this.xrPageInfo2.LocationFloat = new DevExpress.Utils.PointFloat(485.4167F, 0F);
this.xrPageInfo2.Name = "xrPageInfo2";
this.xrPageInfo2.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo2.PageInfo = DevExpress.XtraPrinting.PageInfo.DateTime;
this.xrPageInfo2.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo2.StylePriority.UseForeColor = false;
this.xrPageInfo2.StylePriority.UseTextAlignment = false;
this.xrPageInfo2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.TopRight;
//
// xrPageInfo1
//
this.xrPageInfo1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrPageInfo1.Format = "Page {0} of {1}";
this.xrPageInfo1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrPageInfo1.Name = "xrPageInfo1";
this.xrPageInfo1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrPageInfo1.SizeF = new System.Drawing.SizeF(156.25F, 23F);
this.xrPageInfo1.StylePriority.UseForeColor = false;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(DevExpress.DevAV.OrderItem);
//
// ReportHeader
//
this.ReportHeader.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel1,
this.xrLabel9,
this.xrTable2,
this.xrTable4});
this.ReportHeader.Font = new System.Drawing.Font("Arial", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ReportHeader.HeightF = 210.4167F;
this.ReportHeader.Name = "ReportHeader";
this.ReportHeader.StylePriority.UseFont = false;
//
// xrLabel1
//
this.xrLabel1.Font = new System.Drawing.Font("Arial", 16F);
this.xrLabel1.LocationFloat = new DevExpress.Utils.PointFloat(83.34718F, 0F);
this.xrLabel1.Name = "xrLabel1";
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 8, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(216.6667F, 39.08798F);
this.xrLabel1.StylePriority.UseFont = false;
this.xrLabel1.StylePriority.UsePadding = false;
this.xrLabel1.StylePriority.UseTextAlignment = false;
this.xrLabel1.Text = "Orders from";
this.xrLabel1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// xrLabel9
//
this.xrLabel9.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Order.OrderDate", "{0:MMMM, yyyy}")});
this.xrLabel9.Font = new System.Drawing.Font("Arial", 16F, System.Drawing.FontStyle.Bold);
this.xrLabel9.LocationFloat = new DevExpress.Utils.PointFloat(300.0139F, 0F);
this.xrLabel9.Name = "xrLabel9";
this.xrLabel9.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel9.SizeF = new System.Drawing.SizeF(216.6667F, 39.08798F);
this.xrLabel9.StylePriority.UseFont = false;
this.xrLabel9.StylePriority.UseTextAlignment = false;
this.xrLabel9.Text = "xrLabel9";
this.xrLabel9.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrTable2
//
this.xrTable2.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 61.6141F);
this.xrTable2.Name = "xrTable2";
this.xrTable2.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2,
this.xrTableRow3});
this.xrTable2.SizeF = new System.Drawing.SizeF(402.0972F, 85.24207F);
//
// xrTableRow2
//
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4,
this.xrTableCell7});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.Weight = 1D;
//
// xrTableCell4
//
this.xrTableCell4.Font = new System.Drawing.Font("Arial", 12F);
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseFont = false;
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "Total Sales per month:";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell4.Weight = 1D;
//
// xrTableCell7
//
this.xrTableCell7.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell7.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
xrSummary1.FormatString = "{0:$#,#}";
xrSummary1.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell7.Summary = xrSummary1;
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell7.Weight = 1D;
//
// xrTableRow3
//
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell5,
this.xrTableCell8});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.Weight = 1D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Arial", 12F);
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Total order discounts:";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell5.Weight = 1D;
//
// xrTableCell8
//
this.xrTableCell8.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Discount")});
this.xrTableCell8.Font = new System.Drawing.Font("Arial", 12F, System.Drawing.FontStyle.Bold);
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.StylePriority.UseFont = false;
this.xrTableCell8.StylePriority.UseTextAlignment = false;
xrSummary2.FormatString = "{0:$#,#}";
xrSummary2.Running = DevExpress.XtraReports.UI.SummaryRunning.Report;
this.xrTableCell8.Summary = xrSummary2;
this.xrTableCell8.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell8.Weight = 1D;
//
// xrTable4
//
this.xrTable4.Font = new System.Drawing.Font("Segoe UI", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable4.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 172.9167F);
this.xrTable4.Name = "xrTable4";
this.xrTable4.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow6});
this.xrTable4.SizeF = new System.Drawing.SizeF(650F, 37.5F);
this.xrTable4.StylePriority.UseFont = false;
//
// xrTableRow6
//
this.xrTableRow6.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell3,
this.xrTableCell6});
this.xrTableRow6.Name = "xrTableRow6";
this.xrTableRow6.Weight = 1.3333334941638817D;
//
// xrTableCell3
//
this.xrTableCell3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(221)))), ((int)(((byte)(128)))), ((int)(((byte)(71)))));
this.xrTableCell3.ForeColor = System.Drawing.Color.White;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell3.StylePriority.UseBackColor = false;
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UsePadding = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Orders";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell3.Weight = 0.8195229174103581D;
//
// xrTableCell6
//
this.xrTableCell6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(217)))), ((int)(((byte)(217)))));
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell6.StylePriority.UseBackColor = false;
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UsePadding = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell6.Weight = 2.1804770825896416D;
//
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrLabel4,
this.xrTable6,
this.xrLabel5});
this.GroupHeader1.GroupFields.AddRange(new DevExpress.XtraReports.UI.GroupField[] {
new DevExpress.XtraReports.UI.GroupField("Product.Category", DevExpress.XtraReports.UI.XRColumnSortOrder.Ascending)});
this.GroupHeader1.GroupUnion = DevExpress.XtraReports.UI.GroupUnion.WithFirstDetail;
this.GroupHeader1.HeightF = 85.00002F;
this.GroupHeader1.Name = "GroupHeader1";
//
// xrLabel4
//
this.xrLabel4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel4.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrLabel4.LocationFloat = new DevExpress.Utils.PointFloat(0F, 4.000004F);
this.xrLabel4.Name = "xrLabel4";
this.xrLabel4.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 0, 0, 0, 100F);
this.xrLabel4.SizeF = new System.Drawing.SizeF(156.25F, 31.33335F);
this.xrLabel4.StylePriority.UseFont = false;
this.xrLabel4.StylePriority.UsePadding = false;
this.xrLabel4.StylePriority.UseTextAlignment = false;
this.xrLabel4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
//
// xrTable6
//
this.xrTable6.Borders = DevExpress.XtraPrinting.BorderSide.Bottom;
this.xrTable6.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTable6.LocationFloat = new DevExpress.Utils.PointFloat(1.589457E-05F, 60.00004F);
this.xrTable6.Name = "xrTable6";
this.xrTable6.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow10});
this.xrTable6.SizeF = new System.Drawing.SizeF(650F, 24.99998F);
this.xrTable6.StylePriority.UseBorderColor = false;
this.xrTable6.StylePriority.UseBorders = false;
this.xrTable6.StylePriority.UseFont = false;
this.xrTable6.StylePriority.UseForeColor = false;
//
// xrTableRow10
//
this.xrTableRow10.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell30,
this.xrTableCell31,
this.xrTableCell32,
this.xrTableCell33,
this.xrTableCell34,
this.xrTableCell35});
this.xrTableRow10.Name = "xrTableRow10";
this.xrTableRow10.Weight = 1D;
//
// xrTableCell30
//
this.xrTableCell30.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell30.Name = "xrTableCell30";
this.xrTableCell30.Padding = new DevExpress.XtraPrinting.PaddingInfo(15, 0, 0, 0, 100F);
this.xrTableCell30.StylePriority.UseFont = false;
this.xrTableCell30.StylePriority.UsePadding = false;
this.xrTableCell30.StylePriority.UseTextAlignment = false;
this.xrTableCell30.Text = "ORDER DATE";
this.xrTableCell30.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell30.Weight = 0.65655051378103091D;
//
// xrTableCell31
//
this.xrTableCell31.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell31.Name = "xrTableCell31";
this.xrTableCell31.StylePriority.UseFont = false;
this.xrTableCell31.StylePriority.UseTextAlignment = false;
this.xrTableCell31.Text = "INVOICE #";
this.xrTableCell31.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell31.Weight = 0.48617789892049473D;
//
// xrTableCell32
//
this.xrTableCell32.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell32.Name = "xrTableCell32";
this.xrTableCell32.StylePriority.UseFont = false;
this.xrTableCell32.StylePriority.UseTextAlignment = false;
this.xrTableCell32.Text = "QTY";
this.xrTableCell32.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell32.Weight = 0.399939912733946D;
//
// xrTableCell33
//
this.xrTableCell33.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell33.Name = "xrTableCell33";
this.xrTableCell33.StylePriority.UseFont = false;
this.xrTableCell33.StylePriority.UseTextAlignment = false;
this.xrTableCell33.Text = "PRICE";
this.xrTableCell33.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell33.Weight = 0.40955509665451173D;
//
// xrTableCell34
//
this.xrTableCell34.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell34.Name = "xrTableCell34";
this.xrTableCell34.StylePriority.UseFont = false;
this.xrTableCell34.StylePriority.UseTextAlignment = false;
this.xrTableCell34.Text = "DISCOUNT";
this.xrTableCell34.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell34.Weight = 0.35327269554137175D;
//
// xrTableCell35
//
this.xrTableCell35.Font = new System.Drawing.Font("Segoe UI", 10F, System.Drawing.FontStyle.Bold);
this.xrTableCell35.Name = "xrTableCell35";
this.xrTableCell35.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell35.StylePriority.UseFont = false;
this.xrTableCell35.StylePriority.UsePadding = false;
this.xrTableCell35.StylePriority.UseTextAlignment = false;
this.xrTableCell35.Text = "ORDER AMOUNT";
this.xrTableCell35.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell35.Weight = 0.6945038823686448D;
//
// xrLabel5
//
this.xrLabel5.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Product.Category")});
this.xrLabel5.Font = new System.Drawing.Font("Segoe UI", 12F);
this.xrLabel5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(166)))), ((int)(((byte)(166)))), ((int)(((byte)(166)))));
this.xrLabel5.LocationFloat = new DevExpress.Utils.PointFloat(449.6307F, 4.000004F);
this.xrLabel5.Name = "xrLabel5";
this.xrLabel5.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel5.SizeF = new System.Drawing.SizeF(200.3693F, 31.33335F);
this.xrLabel5.StylePriority.UseFont = false;
this.xrLabel5.StylePriority.UseForeColor = false;
this.xrLabel5.StylePriority.UseTextAlignment = false;
xrSummary3.FormatString = "| # OF ORDERS: {0}";
xrSummary3.Func = DevExpress.XtraReports.UI.SummaryFunc.Count;
xrSummary3.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrLabel5.Summary = xrSummary3;
this.xrLabel5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
//
// GroupFooter1
//
this.GroupFooter1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable5});
this.GroupFooter1.HeightF = 43.799F;
this.GroupFooter1.Name = "GroupFooter1";
//
// xrTable5
//
this.xrTable5.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold);
this.xrTable5.LocationFloat = new DevExpress.Utils.PointFloat(439.8059F, 18.79899F);
this.xrTable5.Name = "xrTable5";
this.xrTable5.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow9});
this.xrTable5.SizeF = new System.Drawing.SizeF(210.1941F, 25.00001F);
this.xrTable5.StylePriority.UseFont = false;
//
// xrTableRow9
//
this.xrTableRow9.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell16,
this.xrTableCell17});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 1D;
//
// xrTableCell16
//
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.Text = "TOTAL";
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell16.Weight = 0.93984267887268125D;
//
// xrTableCell17
//
this.xrTableCell17.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "Total")});
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Padding = new DevExpress.XtraPrinting.PaddingInfo(0, 10, 0, 0, 100F);
this.xrTableCell17.StylePriority.UsePadding = false;
this.xrTableCell17.StylePriority.UseTextAlignment = false;
xrSummary4.FormatString = "{0:$#,#}";
xrSummary4.Running = DevExpress.XtraReports.UI.SummaryRunning.Group;
this.xrTableCell17.Summary = xrSummary4;
this.xrTableCell17.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleRight;
this.xrTableCell17.Weight = 1.0653644820811168D;
//
// paramOrderDate
//
this.paramOrderDate.Description = "ParamOrderDate";
this.paramOrderDate.Name = "paramOrderDate";
this.paramOrderDate.Type = typeof(bool);
this.paramOrderDate.ValueInfo = "True";
this.paramOrderDate.Visible = false;
//
// SalesRevenueReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
this.topMarginBand1,
this.detailBand1,
this.bottomMarginBand1,
this.ReportHeader,
this.GroupHeader1,
this.GroupFooter1});
this.DataSource = this.bindingSource1;
this.DesignerOptions.ShowExportWarnings = false;
this.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Margins = new System.Drawing.Printing.Margins(100, 100, 119, 93);
this.Parameters.AddRange(new DevExpress.XtraReports.Parameters.Parameter[] {
this.paramOrderDate});
this.Version = "17.2";
this.DataSourceDemanded += new System.EventHandler<System.EventArgs>(this.CustomerSalesSummary_DataSourceDemanded);
((System.ComponentModel.ISupportInitialize)(this.xrTable7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
private void xrLabel4_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) {
Product currentProduct = (Product)GetCurrentColumnValue("Product");
if(currentProduct != null)
(sender as XRLabel).Text = EnumDisplayTextHelper.GetDisplayText(currentProduct.Category).ToUpper();
}
private void CustomerSalesSummary_DataSourceDemanded(object sender, EventArgs e) {
if(Equals(true, paramOrderDate.Value)) {
xrTableCell6.Text = "Grouped by Category | Sorted by Order Date";
this.detailBand1.SortFields[0].FieldName = "Order.OrderDate";
} else {
xrTableCell6.Text = "Grouped by Category | Sorted by Invoice #";
this.detailBand1.SortFields[0].FieldName = "Order.InvoiceNumber";
}
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="bindingSource1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>