报告XP.ReportEngine模块:根据项目设计搭建数据处理层,数据绑定器实现,PDF渲染和生成功能开发实现。

This commit is contained in:
QI Mingxuan
2026-05-11 19:18:46 +08:00
parent 1573a33a02
commit c5a390935e
11 changed files with 1634 additions and 61 deletions
+180 -59
View File
@@ -1,64 +1,5 @@
<?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">
@@ -117,4 +58,184 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<!-- 报告元数据键 | Report metadata keys -->
<data name="Report_Title" xml:space="preserve">
<value>检测报告</value>
</data>
<data name="Report_Date" xml:space="preserve">
<value>检测日期</value>
</data>
<data name="Report_Sample" xml:space="preserve">
<value>样品名称</value>
</data>
<data name="Report_Operator" xml:space="preserve">
<value>操作员</value>
</data>
<data name="Report_Summary" xml:space="preserve">
<value>检测摘要</value>
</data>
<data name="Report_Id" xml:space="preserve">
<value>报告编号</value>
</data>
<data name="Report_Description" xml:space="preserve">
<value>描述</value>
</data>
<!-- 分类结果键 | Classification keys -->
<data name="Classification_Pass" xml:space="preserve">
<value>通过</value>
</data>
<data name="Classification_Fail" xml:space="preserve">
<value>不通过</value>
</data>
<!-- 检测类型键 | Inspection type keys -->
<data name="Inspection_LineMeasurement" xml:space="preserve">
<value>距离测量</value>
</data>
<data name="Inspection_BgaVoidRate" xml:space="preserve">
<value>BGA 气泡率</value>
</data>
<data name="Inspection_VoidMeasurement" xml:space="preserve">
<value>空隙测量</value>
</data>
<data name="Inspection_FillRate" xml:space="preserve">
<value>通孔填锡率</value>
</data>
<!-- 表格列头键 | Table header keys -->
<data name="Table_Index" xml:space="preserve">
<value>序号</value>
</data>
<data name="Table_VoidRate" xml:space="preserve">
<value>气泡率</value>
</data>
<data name="Table_Classification" xml:space="preserve">
<value>分类结果</value>
</data>
<data name="Table_Area" xml:space="preserve">
<value>面积</value>
</data>
<data name="Table_AreaPercent" xml:space="preserve">
<value>面积百分比</value>
</data>
<data name="Table_CenterX" xml:space="preserve">
<value>中心 X</value>
</data>
<data name="Table_CenterY" xml:space="preserve">
<value>中心 Y</value>
</data>
<!-- 测量键 | Measurement keys -->
<data name="Measurement_Type" xml:space="preserve">
<value>测量类型</value>
</data>
<data name="Measurement_Distance" xml:space="preserve">
<value>距离</value>
</data>
<data name="Measurement_Unit" xml:space="preserve">
<value>单位</value>
</data>
<data name="Measurement_Angle" xml:space="preserve">
<value>角度</value>
</data>
<data name="Measurement_FillRate" xml:space="preserve">
<value>填锡率</value>
</data>
<data name="Measurement_VoidRate" xml:space="preserve">
<value>气泡率</value>
</data>
<data name="Measurement_Limit" xml:space="preserve">
<value>限值</value>
</data>
<!-- 摘要键 | Summary keys -->
<data name="Summary_TotalDefects" xml:space="preserve">
<value>总缺陷数</value>
</data>
<data name="Summary_PassCount" xml:space="preserve">
<value>通过数量</value>
</data>
<data name="Summary_FailCount" xml:space="preserve">
<value>不通过数量</value>
</data>
<data name="Summary_OverallResult" xml:space="preserve">
<value>总体结果</value>
</data>
<!-- 图像占位符键 | Image placeholder key -->
<data name="Image_NoImage" xml:space="preserve">
<value>无图像</value>
</data>
<!-- 页面标题键 | Page title keys -->
<data name="Page_Homepage" xml:space="preserve">
<value>检测报告首页</value>
</data>
<data name="Page_MetricData" xml:space="preserve">
<value>测量数据</value>
</data>
<data name="Page_BgaInspection" xml:space="preserve">
<value>BGA 焊球检测</value>
</data>
<data name="Page_VoidInspection" xml:space="preserve">
<value>空隙检测</value>
</data>
<data name="Page_ViaFillInspection" xml:space="preserve">
<value>通孔填锡检测</value>
</data>
<!-- BGA 检测键 | BGA inspection keys -->
<data name="Bga_Count" xml:space="preserve">
<value>焊球数量</value>
</data>
<data name="Bga_TotalArea" xml:space="preserve">
<value>焊球总面积</value>
</data>
<data name="Bga_TotalVoidArea" xml:space="preserve">
<value>气泡总面积</value>
</data>
<data name="Bga_VoidLimit" xml:space="preserve">
<value>气泡率限值</value>
</data>
<data name="Bga_BallIndex" xml:space="preserve">
<value>焊球序号</value>
</data>
<!-- 空隙检测键 | Void inspection keys -->
<data name="Void_RoiArea" xml:space="preserve">
<value>ROI 面积</value>
</data>
<data name="Void_TotalArea" xml:space="preserve">
<value>空隙总面积</value>
</data>
<data name="Void_Count" xml:space="preserve">
<value>空隙数量</value>
</data>
<data name="Void_MaxArea" xml:space="preserve">
<value>最大空隙面积</value>
</data>
<data name="Void_Limit" xml:space="preserve">
<value>空隙率限值</value>
</data>
<!-- 通孔填锡键 | Via fill rate keys -->
<data name="Fill_Rate" xml:space="preserve">
<value>填锡率</value>
</data>
<data name="Fill_FullDistance" xml:space="preserve">
<value>满填距离</value>
</data>
<data name="Fill_FillDistance" xml:space="preserve">
<value>填充距离</value>
</data>
<data name="Fill_THTLimit" xml:space="preserve">
<value>THT 限值</value>
</data>
<!-- 通用字段键 | Common field keys -->
<data name="Field_Point1" xml:space="preserve">
<value>起点</value>
</data>
<data name="Field_Point2" xml:space="preserve">
<value>终点</value>
</data>
<data name="Field_Result" xml:space="preserve">
<value>结果</value>
</data>
<data name="Field_InspectionType" xml:space="preserve">
<value>检测类型</value>
</data>
<data name="Field_Status" xml:space="preserve">
<value>状态</value>
</data>
</root>