Interactive Matrix.frx 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Report ScriptLanguage="CSharp" ReportInfo.Description="Demonstrates how to create an interactive report using the Matrix object. Its cells are clickable and can be used to display the detailed report about the cell's value. To create such a report:&#13;&#10;- select the matrix cell, go to &quot;Properties&quot; window and setup the &quot;Hyperlink&quot; property:&#13;&#10;- set the &quot;Kind&quot; to &quot;DetailReport&quot;;&#13;&#10;- set the &quot;DetailReportName&quot; to detail report's file;&#13;&#10;- set the &quot;ReportParameter&quot; to the detailed report's parameter name.&#13;&#10;&#13;&#10;When you click a cell in the preview window, the detailed report will be loaded and opened with a parameter that describes the cell's address. The address contains all column and row values separated by semicolon. In the detailed report, you have to use the parameter to filter the data. See how to do it in the &quot;Interactive Matrix - Details.frx&quot; report.&#13;&#10;&#13;&#10;Learn how to build this report on the Fast Reports Academy channel http://fast.report/f1e6d" ReportInfo.Created="05/15/2008 00:47:48" ReportInfo.Modified="04/07/2023 02:27:37" ReportInfo.CreatorVersion="1.0.0.0">
  3. <ScriptText>using System;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Windows.Forms;
  8. using System.Drawing;
  9. using System.Data;
  10. using FastReport;
  11. using FastReport.Data;
  12. using FastReport.Dialog;
  13. using FastReport.Barcode;
  14. using FastReport.Table;
  15. using FastReport.Utils;
  16. namespace FastReport
  17. {
  18. public class ReportScript
  19. {
  20. private void Cell4_MouseEnter(object sender, EventArgs e)
  21. {
  22. TableCell cell = sender as TableCell;
  23. cell.Fill = new GlassFill(Color.DarkOrange, 0.2f, false);
  24. cell.Page.Refresh();
  25. }
  26. private void Cell4_MouseLeave(object sender, EventArgs e)
  27. {
  28. TableCell cell = sender as TableCell;
  29. cell.Fill = new SolidFill(Color.FromArgb(77,77,77));
  30. cell.Page.Refresh();
  31. }
  32. }
  33. }
  34. </ScriptText>
  35. <Dictionary>
  36. <TableDataSource Name="Categories" ReferenceName="NorthWind.Categories" DataType="System.Int32" Enabled="true">
  37. <Column Name="CategoryID" DataType="System.Int32"/>
  38. <Column Name="CategoryName" DataType="System.String"/>
  39. <Column Name="Description" DataType="System.String"/>
  40. <Column Name="Picture" DataType="System.Byte[]" BindableControl="Picture"/>
  41. </TableDataSource>
  42. <TableDataSource Name="Customers" ReferenceName="NorthWind.Customers" DataType="System.Int32" Enabled="true">
  43. <Column Name="CustomerID" DataType="System.String"/>
  44. <Column Name="CompanyName" DataType="System.String"/>
  45. <Column Name="ContactName" DataType="System.String"/>
  46. <Column Name="ContactTitle" DataType="System.String"/>
  47. <Column Name="Address" DataType="System.String"/>
  48. <Column Name="City" DataType="System.String"/>
  49. <Column Name="Region" DataType="System.String"/>
  50. <Column Name="PostalCode" DataType="System.String"/>
  51. <Column Name="Country" DataType="System.String"/>
  52. <Column Name="Phone" DataType="System.String"/>
  53. <Column Name="Fax" DataType="System.String"/>
  54. </TableDataSource>
  55. <TableDataSource Name="Employees" ReferenceName="NorthWind.Employees" DataType="System.Int32" Enabled="true">
  56. <Column Name="EmployeeID" DataType="System.Int32"/>
  57. <Column Name="LastName" DataType="System.String"/>
  58. <Column Name="FirstName" DataType="System.String"/>
  59. <Column Name="Title" DataType="System.String"/>
  60. <Column Name="TitleOfCourtesy" DataType="System.String"/>
  61. <Column Name="BirthDate" DataType="System.DateTime"/>
  62. <Column Name="HireDate" DataType="System.DateTime"/>
  63. <Column Name="Address" DataType="System.String"/>
  64. <Column Name="City" DataType="System.String"/>
  65. <Column Name="Region" DataType="System.String"/>
  66. <Column Name="PostalCode" DataType="System.String"/>
  67. <Column Name="Country" DataType="System.String"/>
  68. <Column Name="HomePhone" DataType="System.String"/>
  69. <Column Name="Extension" DataType="System.String"/>
  70. <Column Name="Photo" DataType="System.Byte[]" BindableControl="Picture"/>
  71. <Column Name="Notes" DataType="System.String"/>
  72. <Column Name="ReportsTo" DataType="System.Int32"/>
  73. </TableDataSource>
  74. <TableDataSource Name="Order Details" ReferenceName="NorthWind.Order Details" DataType="System.Int32" Enabled="true">
  75. <Column Name="OrderID" DataType="System.Int32"/>
  76. <Column Name="ProductID" DataType="System.Int32"/>
  77. <Column Name="UnitPrice" DataType="System.Decimal"/>
  78. <Column Name="Quantity" DataType="System.Int16"/>
  79. <Column Name="Discount" DataType="System.Single"/>
  80. </TableDataSource>
  81. <TableDataSource Name="Orders" ReferenceName="NorthWind.Orders" DataType="System.Int32" Enabled="true">
  82. <Column Name="OrderID" DataType="System.Int32"/>
  83. <Column Name="CustomerID" DataType="System.String"/>
  84. <Column Name="EmployeeID" DataType="System.Int32"/>
  85. <Column Name="OrderDate" DataType="System.DateTime"/>
  86. <Column Name="RequiredDate" DataType="System.DateTime"/>
  87. <Column Name="ShippedDate" DataType="System.DateTime"/>
  88. <Column Name="ShipVia" DataType="System.Int32"/>
  89. <Column Name="Freight" DataType="System.Decimal"/>
  90. <Column Name="ShipName" DataType="System.String"/>
  91. <Column Name="ShipAddress" DataType="System.String"/>
  92. <Column Name="ShipCity" DataType="System.String"/>
  93. <Column Name="ShipRegion" DataType="System.String"/>
  94. <Column Name="ShipPostalCode" DataType="System.String"/>
  95. <Column Name="ShipCountry" DataType="System.String"/>
  96. <Column Name="Latitude" DataType="System.Double"/>
  97. <Column Name="Longitude" DataType="System.Double"/>
  98. </TableDataSource>
  99. <TableDataSource Name="Products" ReferenceName="NorthWind.Products" DataType="System.Int32" Enabled="true">
  100. <Column Name="ProductID" DataType="System.Int32"/>
  101. <Column Name="ProductName" DataType="System.String"/>
  102. <Column Name="SupplierID" DataType="System.Int32"/>
  103. <Column Name="CategoryID" DataType="System.Int32"/>
  104. <Column Name="QuantityPerUnit" DataType="System.String"/>
  105. <Column Name="UnitPrice" DataType="System.Decimal"/>
  106. <Column Name="UnitsInStock" DataType="System.Int16"/>
  107. <Column Name="UnitsOnOrder" DataType="System.Int16"/>
  108. <Column Name="ReorderLevel" DataType="System.Int16"/>
  109. <Column Name="Discontinued" DataType="System.Boolean" BindableControl="CheckBox"/>
  110. <Column Name="EAN13" DataType="System.String"/>
  111. </TableDataSource>
  112. <TableDataSource Name="Shippers" ReferenceName="NorthWind.Shippers" DataType="System.Int32" Enabled="true">
  113. <Column Name="ShipperID" DataType="System.Int32"/>
  114. <Column Name="CompanyName" DataType="System.String"/>
  115. <Column Name="Phone" DataType="System.String"/>
  116. </TableDataSource>
  117. <TableDataSource Name="Suppliers" ReferenceName="NorthWind.Suppliers" DataType="System.Int32" Enabled="true">
  118. <Column Name="SupplierID" DataType="System.Int32"/>
  119. <Column Name="CompanyName" DataType="System.String"/>
  120. <Column Name="ContactName" DataType="System.String"/>
  121. <Column Name="ContactTitle" DataType="System.String"/>
  122. <Column Name="Address" DataType="System.String"/>
  123. <Column Name="City" DataType="System.String"/>
  124. <Column Name="Region" DataType="System.String"/>
  125. <Column Name="PostalCode" DataType="System.String"/>
  126. <Column Name="Country" DataType="System.String"/>
  127. <Column Name="Phone" DataType="System.String"/>
  128. <Column Name="Fax" DataType="System.String"/>
  129. <Column Name="HomePage" DataType="System.String"/>
  130. </TableDataSource>
  131. <Relation Name="SuppliersProducts" ReferenceName="NorthWind.SuppliersProducts" ParentDataSource="Suppliers" ChildDataSource="Products" ParentColumns="SupplierID" ChildColumns="SupplierID" Enabled="true"/>
  132. <Relation Name="CategoriesProducts" ReferenceName="NorthWind.CategoriesProducts" ParentDataSource="Categories" ChildDataSource="Products" ParentColumns="CategoryID" ChildColumns="CategoryID" Enabled="true"/>
  133. <Relation Name="EmployeesOrders" ReferenceName="NorthWind.EmployeesOrders" ParentDataSource="Employees" ChildDataSource="Orders" ParentColumns="EmployeeID" ChildColumns="EmployeeID" Enabled="true"/>
  134. <Relation Name="ShippersOrders" ReferenceName="NorthWind.ShippersOrders" ParentDataSource="Shippers" ChildDataSource="Orders" ParentColumns="ShipperID" ChildColumns="ShipVia" Enabled="true"/>
  135. <Relation Name="CustomersOrders" ReferenceName="NorthWind.CustomersOrders" ParentDataSource="Customers" ChildDataSource="Orders" ParentColumns="CustomerID" ChildColumns="CustomerID" Enabled="true"/>
  136. <Relation Name="OrdersOrderDetails" ReferenceName="NorthWind.OrdersOrderDetails" ParentDataSource="Orders" ChildDataSource="Order Details" ParentColumns="OrderID" ChildColumns="OrderID" Enabled="true"/>
  137. <Relation Name="ProductsOrderDetails" ReferenceName="NorthWind.ProductsOrderDetails" ParentDataSource="Products" ChildDataSource="Order Details" ParentColumns="ProductID" ChildColumns="ProductID" Enabled="true"/>
  138. </Dictionary>
  139. <ReportPage Name="Page1" Watermark.Font="Arial, 60pt">
  140. <ReportTitleBand Name="ReportTitle1" Width="718.2" Height="37.8" CanGrow="true">
  141. <TextObject Name="Text1" Width="718.2" Height="37.8" Text="Products by Employees (click the value to view order details)" VertAlign="Center" Font="Segoe UI, 12pt, style=Bold"/>
  142. </ReportTitleBand>
  143. <DataBand Name="Data1" Top="39.8" Width="718.2" Height="434.7">
  144. <MatrixObject Name="Matrix1" Left="18.9" Top="9.45" Width="396.9" Height="415.8" FixedRows="1" FixedColumns="1" AutoSize="false" DataSource="Order Details" Style="Green">
  145. <MatrixColumns>
  146. <Header Expression="[Order Details.Orders.Employees.FirstName] + &quot; &quot; + [Order Details.Orders.Employees.LastName]"/>
  147. </MatrixColumns>
  148. <MatrixRows>
  149. <Header Expression="[Order Details.Products.Categories.CategoryName]"/>
  150. </MatrixRows>
  151. <MatrixCells>
  152. <Cell Expression="[Order Details.UnitPrice] * [Order Details.Quantity] * (decimal)(1 - [Order Details.Discount])"/>
  153. </MatrixCells>
  154. <TableColumn Name="Column1" MaxWidth="151.2" Width="151.2"/>
  155. <TableColumn Name="Column2" MaxWidth="189" Width="122.85"/>
  156. <TableColumn Name="Column3" Width="122.85"/>
  157. <TableRow Name="Row1" Height="170.1">
  158. <TableCell Name="Cell1" Border.Lines="All" Border.Color="DarkGray" Fill.Color="64, 64, 64" Text="Product" HorzAlign="Center" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  159. <TableCell Name="Cell2" Border.Lines="Right, Top, Bottom" Border.Color="DarkGray" Fill.Color="64, 64, 64" Text="Steven Buchanan" Padding="2, 6, 2, 1" AllowExpressions="false" HorzAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White">
  160. <PictureObject Left="9.45" Top="28.35" Width="103.95" Height="132.3" DataColumn="Order Details.Orders.Employees.Photo" SizeMode="StretchImage"/>
  161. </TableCell>
  162. <TableCell Name="Cell7" Border.Lines="Right, Top, Bottom" Border.Color="DarkGray" Fill.Color="64, 64, 64" Text="Total" HorzAlign="Center" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  163. </TableRow>
  164. <TableRow Name="Row2" Height="122.85">
  165. <TableCell Name="Cell3" Border.Lines="Left, Right, Bottom" Border.Color="DarkGray" Fill.Color="64, 64, 64" Text="Seafood" Padding="2, 6, 2, 1" AllowExpressions="false" HorzAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White">
  166. <PictureObject Left="9.45" Top="28.35" Width="132.3" Height="85.05" DataColumn="Order Details.Products.Categories.Picture" SizeMode="StretchImage"/>
  167. </TableCell>
  168. <TableCell Name="Cell4" Border.Lines="Right, Bottom" Border.Color="DarkGray" Fill.Color="77, 77, 77" Cursor="Hand" Hyperlink.Kind="DetailReport" Hyperlink.DetailReportName="Interactive Matrix - Details.frx" Hyperlink.ReportParameter="Cell Address" MouseEnterEvent="Cell4_MouseEnter" MouseLeaveEvent="Cell4_MouseLeave" Text="$5,744.25" AllowExpressions="false" Format="Currency" HorzAlign="Right" VertAlign="Center" Font="Segoe UI, 9pt" TextFill.Color="White"/>
  169. <TableCell Name="Cell8" Border.Lines="Right, Bottom" Border.Color="DarkGray" Fill.Color="77, 77, 77" Text="$131 261.74" Format="Currency" HorzAlign="Right" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  170. </TableRow>
  171. <TableRow Name="Row3" Height="122.85">
  172. <TableCell Name="Cell5" Border.Lines="Left, Right, Bottom" Border.Color="DarkGray" Fill.Color="64, 64, 64" Text="Total" HorzAlign="Center" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  173. <TableCell Name="Cell6" Border.Lines="Right, Bottom" Border.Color="DarkGray" Fill.Color="77, 77, 77" Text="$68 624.28" Format="Currency" HorzAlign="Right" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  174. <TableCell Name="Cell9" Border.Lines="Right, Bottom" Border.Color="DarkGray" Fill.Color="77, 77, 77" Text="$1 265 793.04" Format="Currency" HorzAlign="Right" VertAlign="Center" Font="Segoe UI, 9pt, style=Bold" TextFill.Color="White"/>
  175. </TableRow>
  176. </MatrixObject>
  177. </DataBand>
  178. <PageFooterBand Name="PageFooter1" Top="476.5" Width="718.2" Height="28.35" Fill.Color="WhiteSmoke">
  179. <TextObject Name="Text12" Left="9.45" Width="217.35" Height="28.35" Cursor="Hand" Hyperlink.Value="https://www.fast-report.com/en/product/fast-report-net/" Text="Generated by FastReport" VertAlign="Center" Font="Segoe UI, 9pt, style=Underline" TextFill.Color="Blue"/>
  180. </PageFooterBand>
  181. </ReportPage>
  182. </Report>