First commit, 已上架的電子書

This commit is contained in:
DATAEXPRESS\4734
2026-01-19 17:39:31 +08:00
commit 0b2351e4da
1146 changed files with 1442668 additions and 0 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1 @@
{"ReportVersion":"2017.1.11","ReportGuid":"e92f6b9ceeff49cea940e466afafc0bc","ReportName":"Report","ReportAlias":"Report","ReportFile":"Report.mrt","ReportCreated":"/Date(1503884254000+0300)/","ReportChanged":"/Date(1503884254000+0300)/","EngineVersion":"EngineV2","CalculationMode":"Interpretation","Dictionary":{"DataSources":{"0":{"Ident":"StiCustomSource","Name":"Table1","Alias":"Table1","Columns":{"0":{"Name":"Column1","Index":-1,"NameInSource":"Column1","Alias":"Column1","Type":"System.String"},"1":{"Name":"Column2","Index":-1,"NameInSource":"Column2","Alias":"Column2","Type":"System.Decimal"}},"NameInSource":"Connection","SqlCommand":"Table1"},"1":{"Ident":"StiCustomSource","Name":"Table2","Alias":"Table2","Columns":{"0":{"Name":"Column1","Index":-1,"NameInSource":"Column1","Alias":"Column1","Type":"System.String"},"1":{"Name":"Column2","Index":-1,"NameInSource":"Column2","Alias":"Column2","Type":"System.Decimal"}},"NameInSource":"Connection","SqlCommand":"Table2"}},"Databases":{"0":{"Ident":"StiCustomDatabase","Name":"Connection","Alias":"Connection","ConnectionStringEncrypted":"0W71ScVB2fFvWg=="}}},"Pages":{"0":{"Ident":"StiPage","Name":"Page1","Guid":"ac836fedf780d78873dea96c00c7b5e7","Interaction":{"Ident":"StiInteraction"},"Border":";;2;;;;;solid:Black","Brush":"solid:Transparent","Components":{"0":{"Ident":"StiDataBand","Name":"DataTable1","ClientRectangle":"0,0.4,19,0.8","Interaction":{"Ident":"StiBandInteraction"},"Border":";;;;;;;solid:Black","Brush":"solid:Transparent","Components":{"0":{"Ident":"StiText","Name":"DataTable1_Column1","CanGrow":true,"MinSize":"0,0","MaxSize":"0,0","ClientRectangle":"0,0,9.6,0.8","Interaction":{"Ident":"StiInteraction"},"Text":{"Value":"{Table1.Column1}"},"VertAlignment":"Center","Border":";;;;;;;solid:Black","Brush":"solid:Transparent","TextBrush":"solid:Black","TextOptions":{"WordWrap":true}},"1":{"Ident":"StiText","Name":"DataTable1_Column2","CanGrow":true,"MinSize":"0,0","MaxSize":"0,0","ClientRectangle":"9.6,0,9.4,0.8","Interaction":{"Ident":"StiInteraction"},"Text":{"Value":"{Table1.Column2}"},"VertAlignment":"Center","Border":";;;;;;;solid:Black","Brush":"solid:Transparent","TextBrush":"solid:Black","TextOptions":{"WordWrap":true}}},"DataSourceName":"Table1"}},"PageWidth":21,"PageHeight":29.7,"Watermark":{"TextBrush":"solid:50,0,0,0"},"Margins":{"Left":1,"Right":1,"Top":1,"Bottom":1}}}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,245 @@
<?xml version="1.0" standalone="yes"?>
<xs:schema id="Demo" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="Demo" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Categories">
<xs:complexType>
<xs:sequence>
<xs:element name="CategoryID" type="xs:int" />
<xs:element name="CategoryName" type="xs:string" minOccurs="0" />
<xs:element name="Description" type="xs:string" minOccurs="0" />
<xs:element name="Picture" type="xs:base64Binary" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element name="CustomerID" type="xs:string" />
<xs:element name="CompanyName" type="xs:string" minOccurs="0" />
<xs:element name="ContactName" type="xs:string" minOccurs="0" />
<xs:element name="ContactTitle" type="xs:string" minOccurs="0" />
<xs:element name="Address" type="xs:string" minOccurs="0" />
<xs:element name="City" type="xs:string" minOccurs="0" />
<xs:element name="Region" type="xs:string" minOccurs="0" />
<xs:element name="PostalCode" type="xs:string" minOccurs="0" />
<xs:element name="Country" type="xs:string" minOccurs="0" />
<xs:element name="Phone" type="xs:string" minOccurs="0" />
<xs:element name="Fax" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Employees">
<xs:complexType>
<xs:sequence>
<xs:element name="EmployeeID" type="xs:int" />
<xs:element name="LastName" type="xs:string" minOccurs="0" />
<xs:element name="FirstName" type="xs:string" minOccurs="0" />
<xs:element name="Title" type="xs:string" minOccurs="0" />
<xs:element name="TitleOfCourtesy" type="xs:string" minOccurs="0" />
<xs:element name="BirthDate" type="xs:dateTime" minOccurs="0" />
<xs:element name="HireDate" type="xs:dateTime" minOccurs="0" />
<xs:element name="Address" type="xs:string" minOccurs="0" />
<xs:element name="City" type="xs:string" minOccurs="0" />
<xs:element name="Region" type="xs:string" minOccurs="0" />
<xs:element name="PostalCode" type="xs:string" minOccurs="0" />
<xs:element name="Country" type="xs:string" minOccurs="0" />
<xs:element name="HomePhone" type="xs:string" minOccurs="0" />
<xs:element name="Extension" type="xs:string" minOccurs="0" />
<xs:element name="Photo" type="xs:base64Binary" minOccurs="0" />
<xs:element name="Notes" type="xs:string" minOccurs="0" />
<xs:element name="ReportsTo" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Order_x0020_Details">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderID" type="xs:int" minOccurs="0" />
<xs:element name="ProductID" type="xs:int" minOccurs="0" />
<xs:element name="UnitPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="Quantity" type="xs:short" minOccurs="0" />
<xs:element name="Discount" type="xs:float" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Orders">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderID" type="xs:int" />
<xs:element name="CustomerID" type="xs:string" minOccurs="0" />
<xs:element name="EmployeeID" type="xs:int" minOccurs="0" />
<xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />
<xs:element name="RequiredDate" type="xs:dateTime" minOccurs="0" />
<xs:element name="ShippedDate" type="xs:dateTime" minOccurs="0" />
<xs:element name="ShipVia" type="xs:int" minOccurs="0" />
<xs:element name="Freight" type="xs:decimal" minOccurs="0" />
<xs:element name="ShipName" type="xs:string" minOccurs="0" />
<xs:element name="ShipAddress" type="xs:string" minOccurs="0" />
<xs:element name="ShipCity" type="xs:string" minOccurs="0" />
<xs:element name="ShipRegion" type="xs:string" minOccurs="0" />
<xs:element name="ShipPostalCode" type="xs:string" minOccurs="0" />
<xs:element name="ShipCountry" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Products">
<xs:complexType>
<xs:sequence>
<xs:element name="ProductID" type="xs:int" />
<xs:element name="ProductName" type="xs:string" minOccurs="0" />
<xs:element name="SupplierID" type="xs:int" minOccurs="0" />
<xs:element name="CategoryID" type="xs:int" minOccurs="0" />
<xs:element name="QuantityPerUnit" type="xs:string" minOccurs="0" />
<xs:element name="UnitPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="UnitsInStock" type="xs:short" minOccurs="0" />
<xs:element name="UnitsOnOrder" type="xs:short" minOccurs="0" />
<xs:element name="ReorderLevel" type="xs:short" minOccurs="0" />
<xs:element name="Discontinued" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Shippers">
<xs:complexType>
<xs:sequence>
<xs:element name="ShipperID" type="xs:int" />
<xs:element name="CompanyName" type="xs:string" minOccurs="0" />
<xs:element name="Phone" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Suppliers">
<xs:complexType>
<xs:sequence>
<xs:element name="SupplierID" type="xs:int" />
<xs:element name="CompanyName" type="xs:string" minOccurs="0" />
<xs:element name="ContactName" type="xs:string" minOccurs="0" />
<xs:element name="ContactTitle" type="xs:string" minOccurs="0" />
<xs:element name="Address" type="xs:string" minOccurs="0" />
<xs:element name="City" type="xs:string" minOccurs="0" />
<xs:element name="Region" type="xs:string" minOccurs="0" />
<xs:element name="PostalCode" type="xs:string" minOccurs="0" />
<xs:element name="Country" type="xs:string" minOccurs="0" />
<xs:element name="Phone" type="xs:string" minOccurs="0" />
<xs:element name="Fax" type="xs:string" minOccurs="0" />
<xs:element name="HomePage" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Countries">
<xs:complexType>
<xs:sequence>
<xs:element name="CountriesID" type="xs:int" minOccurs="0" />
<xs:element name="Flag" type="xs:base64Binary" minOccurs="0" />
<xs:element name="CountryName" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="States">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" minOccurs="0" />
<xs:element name="USPS" type="xs:string" minOccurs="0" />
<xs:element name="Population" type="xs:int" minOccurs="0" />
<xs:element name="Capital" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Auto">
<xs:complexType>
<xs:sequence>
<xs:element name="Rank" type="xs:double" minOccurs="0" />
<xs:element name="Country" type="xs:string" minOccurs="0" />
<xs:element name="Year2009" type="xs:double" minOccurs="0" />
<xs:element name="Year2005" type="xs:double" minOccurs="0" />
<xs:element name="Year2000" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GlobalGrowth">
<xs:complexType>
<xs:sequence>
<xs:element name="Region" type="xs:string" minOccurs="0" />
<xs:element name="Year2006" type="xs:double" minOccurs="0" />
<xs:element name="Year2007" type="xs:double" minOccurs="0" />
<xs:element name="Year2008" type="xs:double" minOccurs="0" />
<xs:element name="Year2009" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Opec">
<xs:complexType>
<xs:sequence>
<xs:element name="Year" type="xs:double" minOccurs="0" />
<xs:element name="Iran" type="xs:double" minOccurs="0" />
<xs:element name="Iraq" type="xs:double" minOccurs="0" />
<xs:element name="Kuwait" type="xs:double" minOccurs="0" />
<xs:element name="Saudi_x0020_Arabia" type="xs:double" minOccurs="0" />
<xs:element name="UAE" type="xs:double" minOccurs="0" />
<xs:element name="Venezuela" type="xs:double" minOccurs="0" />
<xs:element name="Libya" type="xs:double" minOccurs="0" />
<xs:element name="Nigeria" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Categories" />
<xs:field xpath="CategoryID" />
</xs:unique>
<xs:unique name="Customers_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Customers" />
<xs:field xpath="CustomerID" />
</xs:unique>
<xs:unique name="Employees_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Employees" />
<xs:field xpath="EmployeeID" />
</xs:unique>
<xs:unique name="Orders_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Orders" />
<xs:field xpath="OrderID" />
</xs:unique>
<xs:unique name="Products_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Products" />
<xs:field xpath="ProductID" />
</xs:unique>
<xs:unique name="Shippers_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Shippers" />
<xs:field xpath="ShipperID" />
</xs:unique>
<xs:unique name="Suppliers_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//Suppliers" />
<xs:field xpath="SupplierID" />
</xs:unique>
<xs:keyref name="CategoriesProducts" refer="Constraint1">
<xs:selector xpath=".//Products" />
<xs:field xpath="CategoryID" />
</xs:keyref>
<xs:keyref name="SuppliersProducts" refer="Suppliers_Constraint1">
<xs:selector xpath=".//Products" />
<xs:field xpath="SupplierID" />
</xs:keyref>
<xs:keyref name="CustomersOrders" refer="Customers_Constraint1">
<xs:selector xpath=".//Orders" />
<xs:field xpath="CustomerID" />
</xs:keyref>
<xs:keyref name="EmployeesOrders" refer="Employees_Constraint1">
<xs:selector xpath=".//Orders" />
<xs:field xpath="EmployeeID" />
</xs:keyref>
<xs:keyref name="ShippersOrders" refer="Shippers_Constraint1">
<xs:selector xpath=".//Orders" />
<xs:field xpath="ShipVia" />
</xs:keyref>
<xs:keyref name="OrdersOrderDetails" refer="Orders_Constraint1">
<xs:selector xpath=".//Order_x0020_Details" />
<xs:field xpath="OrderID" />
</xs:keyref>
<xs:keyref name="ProductsOrderDetails" refer="Products_Constraint1">
<xs:selector xpath=".//Order_x0020_Details" />
<xs:field xpath="ProductID" />
</xs:keyref>
</xs:element>
</xs:schema>
@@ -0,0 +1 @@
{"ReportVersion":"2018.1.4","ReportGuid":"850b0942ea446c035780f51e3b6dc2d5","ReportName":"Report","ReportAlias":"Report","ReportFile":"ReportWithVariable.mrt","ReportCreated":"/Date(1517316821000+0300)/","ReportChanged":"/Date(1517316821000+0300)/","EngineVersion":"EngineV2","CalculationMode":"Interpretation","ReportUnit":"Centimeters","Dictionary":{"Variables":{"0":{"Value":"default","Name":"Variable1","DialogInfo":{"DateTimeType":"DateAndTime"},"Alias":"Variable1","Type":"System.String"}}},"Pages":{"0":{"Ident":"StiPage","Name":"Page1","Guid":"26eb922afa1dcc5dee4d02ebfc21cb1f","Interaction":{"Ident":"StiInteraction"},"Border":";;2;;;;;solid:Black","Brush":"solid:Transparent","Components":{"0":{"Ident":"StiText","Name":"Text1","MinSize":"0,0","MaxSize":"0,0","ClientRectangle":"0,0,2,0.6","Interaction":{"Ident":"StiInteraction"},"Text":{"Value":"Variable1:"},"VertAlignment":"Center","Border":"All;191,191,191;;;;;;solid:0,0,0","Brush":"solid:Transparent","TextBrush":"solid:Black","Type":"Expression"},"1":{"Ident":"StiText","Name":"Text2","MinSize":"0,0","MaxSize":"0,0","ClientRectangle":"2,0,3,0.6","Interaction":{"Ident":"StiInteraction"},"Text":{"Value":"{Variable1}"},"VertAlignment":"Center","Border":"All;191,191,191;;;;;;solid:0,0,0","Brush":"solid:Transparent","TextBrush":"solid:0,0,0"}},"PageWidth":21.01,"PageHeight":29.69,"Watermark":{"TextBrush":"solid:50,0,0,0"},"Margins":{"Left":1,"Right":1,"Top":1,"Bottom":1}}}}
@@ -0,0 +1,657 @@
{
"ReportVersion": "2015.1.13",
"ReportGuid": "e124555e3a994d7c894fecd805a15efd",
"ReportName": "Report",
"ReportAlias": "Simple List",
"ReportAuthor": "Stimulsoft",
"ReportDescription": "This sample demonstrates how to create a simple list report.",
"ReportCreated": "/Date(1085817540000+0300)/",
"ReportChanged": "/Date(1437976152612+0300)/",
"EngineVersion": "EngineV2",
"PreviewMode": "StandardAndDotMatrix",
"PreviewSettings": 33538047,
"Script": "using System;\r\nusing System.Drawing;\r\nusing System.Windows.Forms;\r\nusing System.Data;\r\nusing Stimulsoft.Controls;\r\nusing Stimulsoft.Base.Drawing;\r\nusing Stimulsoft.Report;\r\nusing Stimulsoft.Report.ReportControls;\r\nusing Stimulsoft.Report.Components;\r\n\r\nnamespace Reports\r\n{\r\n \r\n public class SimpleList : Stimulsoft.Report.StiReport\r\n {\r\n \r\n\t\tpublic SimpleList()\r\n {\r\n this.InitializeComponent();\r\n }\r\n #region StiReport Designer generated code - do not modify\r\n\t\t#endregion StiReport Designer generated code - do not modify\r\n }\r\n}",
"Styles": {
"0": {
"Ident": "StiStyle",
"Name": "Title1",
"HorAlignment": "Right",
"VertAlignment": "Center",
"Font": ";19;;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"AllowUseBorderSides": false
},
"1": {
"Ident": "StiStyle",
"Name": "Title2",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": ";102,77,38;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"AllowUseBorderSides": false
},
"2": {
"Ident": "StiStyle",
"Name": "Header1",
"VertAlignment": "Center",
"Font": ";19;;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"AllowUseBorderSides": false
},
"3": {
"Ident": "StiStyle",
"Name": "Header2",
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";12;Bold;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"AllowUseBorderSides": false
},
"4": {
"Ident": "StiStyle",
"Name": "Header3",
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;Bold;",
"Border": "All;193,152,89;;;;;;solid:Black",
"Brush": "solid:242,234,221",
"TextBrush": "solid:193,152,89",
"AllowUseBorderSides": false
},
"5": {
"Ident": "StiStyle",
"Name": "Data1",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"AllowUseBorderSides": false
},
"6": {
"Ident": "StiStyle",
"Name": "Data2",
"Font": ";9;;",
"Border": ";;;;;;;solid:Black",
"Brush": "solid:240,237,232",
"TextBrush": "solid:Black",
"AllowUseFont": false,
"AllowUseBorderFormatting": false,
"AllowUseBorderSides": false,
"AllowUseTextBrush": false,
"AllowUseTextOptions": false
},
"7": {
"Ident": "StiStyle",
"Name": "Data3",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:240,237,232",
"TextBrush": "solid:102,77,38",
"AllowUseBorderSides": false
},
"8": {
"Ident": "StiStyle",
"Name": "Footer1",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Top;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"AllowUseBorderSides": false
},
"9": {
"Ident": "StiStyle",
"Name": "Footer2",
"HorAlignment": "Right",
"VertAlignment": "Center",
"Font": ";12;Bold;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"AllowUseBorderSides": false
}
},
"ReferencedAssemblies": {
"0": "System.Dll",
"1": "System.Drawing.Dll",
"2": "System.Windows.Forms.Dll",
"3": "System.Data.Dll",
"4": "System.Xml.Dll",
"5": "Stimulsoft.Base.Dll",
"6": "Stimulsoft.Controls.Dll",
"7": "Stimulsoft.Report.Dll"
},
"Dictionary": {
"DataSources": {
"0": {
"Ident": "StiDataTableSource",
"Name": "Customers",
"Alias": "Customers",
"Columns": {
"0": {
"Name": "Address",
"Index": -1,
"NameInSource": "Address",
"Alias": "Address",
"Type": "System.String"
},
"1": {
"Name": "City",
"Index": -1,
"NameInSource": "City",
"Alias": "City",
"Type": "System.String"
},
"2": {
"Name": "CompanyName",
"Index": -1,
"NameInSource": "CompanyName",
"Alias": "CompanyName",
"Type": "System.String"
},
"3": {
"Name": "ContactName",
"Index": -1,
"NameInSource": "ContactName",
"Alias": "ContactName",
"Type": "System.String"
},
"4": {
"Name": "ContactTitle",
"Index": -1,
"NameInSource": "ContactTitle",
"Alias": "ContactTitle",
"Type": "System.String"
},
"5": {
"Name": "Country",
"Index": -1,
"NameInSource": "Country",
"Alias": "Country",
"Type": "System.String"
},
"6": {
"Name": "CustomerID",
"Index": -1,
"NameInSource": "CustomerID",
"Alias": "CustomerID",
"Type": "System.String"
},
"7": {
"Name": "Fax",
"Index": -1,
"NameInSource": "Fax",
"Alias": "Fax",
"Type": "System.String"
},
"8": {
"Name": "Phone",
"Index": -1,
"NameInSource": "Phone",
"Alias": "Phone",
"Type": "System.String"
},
"9": {
"Name": "PostalCode",
"Index": -1,
"NameInSource": "PostalCode",
"Alias": "PostalCode",
"Type": "System.String"
},
"10": {
"Name": "Region",
"Index": -1,
"NameInSource": "Region",
"Alias": "Region",
"Type": "System.String"
}
},
"NameInSource": "Demo.Customers"
}
},
"Databases": {
"0": {
"Ident": "StiJsonDatabase",
"Name": "Demo",
"Alias": "Demo",
"PathData": "../reports/Demo.json"
}
}
},
"Pages": {
"0": {
"Ident": "StiPage",
"Name": "Page1",
"Guid": "366bfdc35bcf48f3aeb38f2b5f58db21",
"Interaction": {
"Ident": "StiInteraction"
},
"Border": ";;2;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiPageFooterBand",
"Name": "PageFooterBand1",
"ClientRectangle": "0,27.3,19,0.4",
"Interaction": {
"Ident": "StiInteraction"
},
"Border": ";;;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiText",
"Name": "Text6",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "6.8,0,12.2,0.4",
"ComponentStyle": "Footer1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{PageNofM}"
},
"HorAlignment": "Right",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": ";193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38"
}
}
},
"1": {
"Ident": "StiReportTitleBand",
"Name": "ReportTitleBand2",
"Guid": "0e78e53250ce4a74baab882ac9d3f6e0",
"ClientRectangle": "0,0.4,19,2",
"Interaction": {
"Ident": "StiInteraction"
},
"Border": ";;;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiText",
"Name": "Text20",
"Guid": "426e9ac30a6840e7b47553f34723b8df",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "9.4,0,9.6,0.8",
"ComponentStyle": "Title1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Stimulsoft"
},
"HorAlignment": "Right",
"VertAlignment": "Center",
"Font": ";19;;",
"Border": "Bottom;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"Type": "Expression"
},
"1": {
"Ident": "StiText",
"Name": "Text23",
"Guid": "1bc08e78ae20472481fe55b04ade5b6a",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0,0,9.4,0.8",
"ComponentStyle": "Title1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Simple List"
},
"VertAlignment": "Center",
"Font": ";19;;",
"Border": "Bottom;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:193,152,89",
"Type": "Expression"
},
"2": {
"Ident": "StiText",
"Name": "Text17",
"Guid": "75b851754174412ab8c478e5c8479f92",
"CanGrow": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0,1,14.6,0.8",
"ComponentStyle": "Title2",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{ReportDescription}"
},
"Font": ";9;;",
"Border": ";102,77,38;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
},
"Type": "Expression"
},
"3": {
"Ident": "StiText",
"Name": "Text18",
"Guid": "65f5c368912b4240a21d18c95400ea00",
"CanGrow": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "14.6,1,4.4,0.8",
"ComponentStyle": "Title2",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Date: {Today.ToString(\"Y\")}"
},
"HorAlignment": "Right",
"Font": ";9;;",
"Border": ";102,77,38;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
},
"Type": "Expression"
}
}
},
"2": {
"Ident": "StiHeaderBand",
"Name": "HeaderBand1",
"ClientRectangle": "0,3.2,19,0.6",
"Interaction": {
"Ident": "StiInteraction"
},
"Border": ";;;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiText",
"Name": "Text11",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "6.8,0,5.2,0.6",
"ComponentStyle": "Header3",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Address"
},
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;Bold;",
"Border": "All;193,152,89;;;;;;solid:Black",
"Brush": "solid:242,234,221",
"TextBrush": "solid:193,152,89"
},
"1": {
"Ident": "StiText",
"Name": "Text12",
"ShiftMode": "DecreasingSize, OnlyInWidthOfComponent",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "12,0,3,0.6",
"ComponentStyle": "Header3",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Phone"
},
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;Bold;",
"Border": "All;193,152,89;;;;;;solid:Black",
"Brush": "solid:242,234,221",
"TextBrush": "solid:193,152,89"
},
"2": {
"Ident": "StiText",
"Name": "Text13",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "15,0,4,0.6",
"ComponentStyle": "Header3",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Contact"
},
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;Bold;",
"Border": "All;193,152,89;;;;;;solid:Black",
"Brush": "solid:242,234,221",
"TextBrush": "solid:193,152,89"
},
"3": {
"Ident": "StiText",
"Name": "Text10",
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0,0,6.8,0.6",
"ComponentStyle": "Header3",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "Company"
},
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;Bold;",
"Border": "All;193,152,89;;;;;;solid:Black",
"Brush": "solid:242,234,221",
"TextBrush": "solid:193,152,89"
}
},
"PrintIfEmpty": true
},
"3": {
"Ident": "StiDataBand",
"Name": "DataBand1",
"ClientRectangle": "0,4.6,19,0.6",
"Interaction": {
"Ident": "StiBandInteraction"
},
"Border": ";;;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiText",
"Name": "Text4",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "12,0,3,0.6",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{Customers.Phone}"
},
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Left;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
}
},
"1": {
"Ident": "StiText",
"Name": "Text3",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "15,0,4,0.6",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{Customers.ContactTitle}"
},
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Left, Right;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
}
},
"2": {
"Ident": "StiText",
"Name": "Text1",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0.6,0,6.2,0.6",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{Customers.CompanyName}"
},
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Left;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
},
"Type": "Expression"
},
"3": {
"Ident": "StiText",
"Name": "Text2",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "6.8,0,5.2,0.6",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{Customers.Address}"
},
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Left;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
}
},
"4": {
"Ident": "StiText",
"Name": "Text7",
"Guid": "5b832677f467498487ebd4777d80e7b0",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0,0,0.6,0.6",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"Text": {
"Value": "{Line}"
},
"HorAlignment": "Center",
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Left;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"Type": "Expression"
}
},
"DataSourceName": "Customers",
"EvenStyle": "Data2"
},
"4": {
"Ident": "StiFooterBand",
"Name": "FooterBand1",
"ClientRectangle": "0,6,19,0.2",
"Interaction": {
"Ident": "StiInteraction"
},
"Border": ";;;;;;;solid:Black",
"Brush": "solid:",
"Components": {
"0": {
"Ident": "StiText",
"Name": "Text8",
"Guid": "dcc6258185da48c0bee4c3c0395fb37d",
"CanGrow": true,
"GrowToHeight": true,
"MinSize": "0,0",
"MaxSize": "0,0",
"ClientRectangle": "0,0,19,0.2",
"ComponentStyle": "Data1",
"Interaction": {
"Ident": "StiInteraction"
},
"VertAlignment": "Center",
"Font": ";9;;",
"Border": "Top;193,152,89;;;;;;solid:Black",
"Brush": "solid:",
"TextBrush": "solid:102,77,38",
"TextOptions": {
"WordWrap": true
}
}
},
"PrintOnAllPages": true
}
},
"PageWidth": 21.0,
"PageHeight": 29.7,
"Watermark": {
"Font": ";;Bold;",
"TextBrush": "solid:50,0,0,0"
},
"Margins": {
"Left": 1.0,
"Right": 1.0,
"Top": 1.0,
"Bottom": 1.0
}
}
}
}
@@ -0,0 +1,318 @@
[
{
"name": "產品列表",
"fileType": "pdf",
"pageSize": "A4",
"layout": "portrait",
"margin": 10,
"padding": 2,
"showProgress": true,
"type": "report",
"header": [
{
"value": "=$reportName",
"color": "",
"background": "",
"font": "14px",
"span": 1,
"width": 558,
"align": "center",
"onRender": "",
"type": "label",
"top": 29.99999237060547,
"left": 0
},
{
"value": "=\"印表日期: \"+$(\"today\",\"yyyy/MM/dd\")",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 200,
"align": "right",
"onRender": "",
"type": "label",
"top": 59.99999237060547,
"left": 0
},
{
"value": "=\"頁次: \"+$page+\"/\"+$pageCount",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 200,
"align": "right",
"onRender": "",
"type": "label",
"top": 59.99999237060547,
"left": 360
},
{
"value": "Jabez 宣揚電腦",
"color": "",
"background": "",
"font": "18px NSimSun",
"span": 1,
"width": 560,
"align": "center",
"onRender": "",
"type": "label",
"top": 0,
"left": 0
}
],
"body": [
{
"id": "Master",
"remoteName": "ProdList.Products",
"whereStr": "",
"parentObject": "",
"showHeader": true,
"repeatHeader": true,
"headerBackground": "",
"headerRowHeight": "",
"showFooter": false,
"showEmptyTable": false,
"keepTogether": false,
"groups": [
{
"field": "CategoryID",
"showHeader": true,
"showFooter": false,
"afterGroup": "changePage",
"row": [],
"header": []
}
],
"pageRowCount": "",
"afterRow": "none",
"color": "",
"background": "",
"alterBackground": "",
"border": "cell",
"borderColor": "#000000",
"font": "",
"onRenderRow": "",
"type": "table",
"header": [
{
"value": "產品編號",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "",
"onRender": "",
"type": "label",
"column": 0,
"row": 0
},
{
"value": "品名",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "",
"onRender": "",
"type": "label",
"column": 1,
"row": 0
},
{
"value": "供應商編號",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "",
"onRender": "",
"type": "label",
"column": 2,
"row": 0
},
{
"value": "類別",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 60,
"align": "",
"onRender": "",
"type": "label",
"column": 3,
"row": 0
},
{
"value": "單位",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 60,
"align": "",
"onRender": "",
"type": "label",
"column": 4,
"row": 0
},
{
"value": "單價",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 60,
"align": "",
"onRender": "",
"type": "label",
"column": 5,
"row": 0
},
{
"value": "庫存",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 68,
"align": "",
"onRender": "",
"type": "label",
"column": 6,
"row": 0
}
],
"body": [
{
"value": "=#ProductID",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "right",
"onRender": "",
"type": "label",
"column": 0,
"row": 0
},
{
"value": "=#ProductName",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "",
"onRender": "",
"type": "label",
"column": 1,
"row": 0
},
{
"value": "=#SupplierID",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 100,
"align": "right",
"onRender": "",
"type": "label",
"column": 2,
"row": 0
},
{
"value": "=#CategoryID",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 60,
"align": "right",
"onRender": "",
"type": "label",
"column": 3,
"row": 0
},
{
"value": "=#QuantityPerUnit",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 62,
"align": "",
"onRender": "",
"type": "label",
"column": 4,
"row": 0
},
{
"value": "=#UnitPrice",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 64,
"align": "right",
"onRender": "",
"type": "label",
"column": 5,
"row": 0
},
{
"value": "=#UnitsInStock",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 68,
"align": "",
"onRender": "",
"type": "label",
"column": 6,
"row": 0
}
],
"footer": [],
"top": 10,
"left": 0
}
],
"footer": [
{
"value": "=\"印表時間: \"+$(\"today\",\"yyyy/MM/dd hh:mm:ss\")",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": "",
"align": "",
"onRender": "",
"type": "label",
"top": 0,
"left": 0
},
{
"value": "=\"用戶名: \"+$userName ",
"color": "",
"background": "",
"font": "",
"span": 1,
"width": 200,
"align": "right",
"onRender": "",
"type": "label",
"top": 0,
"left": 360
}
]
}
]
@@ -0,0 +1,14 @@
報表的規格,因為要考慮非 windows 的作業平台,所以以產生 pdf/csv 檔為準
報表工具的概念規格
1.每一張報表都會對應一個 jsf 的格式定義檔(可以由 Wizard 產生)
相關設定的內容可以參考 report_json_format.txt
2.每一張報表都會有取得資料的 sql 語句,建議寫成 View 或 Store Procedure
有了這2個設定,再請 Dk 寫一支程式,讀取 jsf 和資料後,產生成一個 pdf 檔
然後開一個 div 顯示該 pdf 檔。
Node.js 有一個 PDFKit 元件,可以很方便的產生 pdf 檔
https://www.codeproject.com/Tips/755694/Generating-Server-Side-PDFs-using-PDFKit-and-Node
@@ -0,0 +1,95 @@
<Report Setting>
<PageSize>
<PageHeight>21cm</PageHeight>
<PageWidth>29.7cm</PageWidth>
<LeftMargin>1cm</LeftMargin>
<RightMargin>0.5cm</RightMargin>
<TopMargin>1cm</TopMargin>
<BottomMargin>0.5cm</BottomMargin>
<ColumnSpacing>1cm</ColumnSpacing>
<Orientation>直(Portrait)/橫(Landscape)</Orientation> <!-- 報表直橫 --!>
</PageSize>
<defaultSetting>
<!-- 本區的字體會特別放大, 所以要特殊定義 --!>
<ph_title>
<font-size>26</font-size>
<font-family>細明體<font-family>
<TextAlign>center</TextAlign>
</ph_title>
<phe>
<font-size>12</font-size>
<font-family>細明體<font-family>
<TextAlign>left</TextAlign>
</phe>
<pageheader>
<font-size>12</font-size>
<font-family>細明體<font-family>
<TextAlign>left</TextAlign>
</pageheader>
<pagefooter>
<font-size>12</font-size>
<font-family>細明體<font-family>
<TextAlign>left</TextAlign>
</pagefooter>
<detail>
<Style>
<TextAlign>Right</TextAlign>
<TopBorder>
<Style>Solid</Style>
</TopBorder>
<BottomBorder>
<Style>Solid</Style>
</BottomBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<height>20px</height>
</detail>
</defaultSetting>
</Report Setting>
<pageheader>
<!-- page header element, 建議大量運用標準預設, 減少定義檔的內容 --!>
<!-- 每一區都有標準的設定, 例如 font-family, font-size, 都可以設定在defaultSetting 區, 不必每一個 element 都要設定 --!>
<ph_title>
<label>{CorpName}</label> <!-- 可以接收一些事先定義好的系統變數 {xx} --!>
</ph_title>
<phe>
報表查詢條件的顯示方式
</phe>
</pageheader>
<groupheader1>
<GroupExpression>billno</GroupExpression>
<td>日期</td>
<td>{billdate}</td>
</groupheader1>
<groupfooter1>
<fieldname>subamount<fieldname>
<calc_type>Sum</calc_type>
<newpage>false</newpage> <!-- 群組是否跳頁, 預設不跳頁 --!>
</groupfooter1>
<groupheader2>
</groupheader2>
<groupfooter2>
</groupfooter2>
<groupheader3>
</groupheader3>
<groupfooter3>
</groupfooter3>
<detail>
<fieldname>billdate</fieldname>
<width>80px</width>
<TextAlign>left</TextAlign>
<format>{qty-decimal}<format> <!-- 數量小數位數(數字欄位 only), 要依參數 --!>
<fieldname>personid<fieldname>
<width>120px</width>
</detail>
<pagefooter>
</pagefooter>