From f5907dab0137d9cfb610ef01b09592832e5aecb9 Mon Sep 17 00:00:00 2001
From: lg <999544862qq.com>
Date: 星期二, 10 九月 2024 11:51:12 +0800
Subject: [PATCH] 用户权限报表

---
 DevApp/Gs.DevApp/TestForm/TEST.Designer.cs           |   44 +++-
 DevApp/Gs.DevApp/TestForm/TEST.cs                    |   22 +
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs          |   15 +
 DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx             |  120 ++++++++++++
 DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs               |   42 ++++
 DevApp/Gs.DevApp/TestForm/XtraForm1.resx             |   16 +
 DevApp/Gs.DevApp/Gs.DevApp.csproj                    |   30 +++
 DevApp/Gs.DevApp/TestForm/XtraForm1.Designer.cs      |   50 ++++
 DevApp/Gs.DevApp/DevFrm/User/User.cs                 |    7 
 DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs      |   64 ++++++
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx        |  154 +++++++++-----
 DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs |   18 +
 DevApp/Gs.DevApp/Program.cs                          |    2 
 13 files changed, 503 insertions(+), 81 deletions(-)

diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs
new file mode 100644
index 0000000..d69534b
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.Designer.cs
@@ -0,0 +1,64 @@
+锘�
+namespace Gs.DevApp.DevFrm.Rpt
+{
+    partial class RptUser
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.previewControl1 = new FastReport.Preview.PreviewControl();
+            this.SuspendLayout();
+            // 
+            // previewControl1
+            // 
+            this.previewControl1.BackColor = System.Drawing.SystemColors.AppWorkspace;
+            this.previewControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.previewControl1.Font = new System.Drawing.Font("瀹嬩綋", 7.2F);
+            this.previewControl1.Location = new System.Drawing.Point(0, 0);
+            this.previewControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.previewControl1.Name = "previewControl1";
+            this.previewControl1.PageOffset = new System.Drawing.Point(10, 10);
+            this.previewControl1.Size = new System.Drawing.Size(564, 543);
+            this.previewControl1.TabIndex = 0;
+            this.previewControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
+            // 
+            // RptUser
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(564, 543);
+            this.Controls.Add(this.previewControl1);
+            this.Name = "RptUser";
+            this.Text = "RptUser";
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private FastReport.Preview.PreviewControl previewControl1;
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs
new file mode 100644
index 0000000..a38b43a
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.cs
@@ -0,0 +1,42 @@
+锘縰sing DevExpress.XtraEditors;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Gs.DevApp.DevFrm.Rpt
+{
+    public partial class RptUser : DevExpress.XtraEditors.XtraForm
+    {
+        public RptUser()
+        {
+            InitializeComponent();
+            DataSet ds = new DataSet();
+            DataTable table1 = new DataTable();
+            table1.TableName = "Table1"; // 涓�瀹氳璁剧疆琛ㄥ悕绉�
+            ds.Tables.Add(table1);
+            // 娣诲姞琛ㄤ腑鐨勫垪
+            table1.Columns.Add("濮撳悕", typeof(string));
+            table1.Columns.Add("瀵嗙爜", typeof(string));
+            // 浠绘剰娣诲姞涓�浜涙暟鎹�
+            for (int i = 0, maxI = 100; i < maxI; i++)
+            {
+                DataRow row = table1.NewRow();
+                row["濮撳悕"] = "鎴戞槸" + i.ToString();
+                row["瀵嗙爜"] = i.ToString();
+                table1.Rows.Add(row);
+            }
+            FastReport.Report report = new FastReport.Report();
+            report.Load("templeEasyCode/Untitled.frx");//bin/debug涓�
+            report.RegisterData(ds);//蹇呴』瑁� dataset 鏁版嵁闆�,濡傛灉瑁呭叆datatable鏁版嵁琛�,瑕佸姞鍙傛暟琛ㄥ悕,鎵�浠ュ姞闆嗘柟渚�
+            report.Preview = previewControl1;
+            report.Prepare();
+            report.ShowPrepared();
+        }
+    }
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DevApp/Gs.DevApp/DevFrm/Rpt/RptUser.resx
@@ -0,0 +1,120 @@
+锘�<?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>
+</root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/DevFrm/User/User.cs b/DevApp/Gs.DevApp/DevFrm/User/User.cs
index 577be87..75a4ae6 100644
--- a/DevApp/Gs.DevApp/DevFrm/User/User.cs
+++ b/DevApp/Gs.DevApp/DevFrm/User/User.cs
@@ -23,12 +23,19 @@
             this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick;
             this.toolBarMenu1.btnDelClick += ToolBarMenu1_btnDelClick1;
             this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick;
+            this.toolBarMenu1.btnReportClick += ToolBarMenu1_btnReportClick;
             gcMain.MouseDoubleClick += GcMain_MouseDoubleClick;
             gridView1.ColumnFilterChanged += GridView1_ColumnFilterChanged;
             pageBar1.PagerEvent += PageBar1_PagerEvent;
             getPageList(1, UtilityHelper.GetPageSize());
         }
 
+        private void ToolBarMenu1_btnReportClick(object sender, EventArgs e)
+        {
+            Rpt.RptUser frm = new Rpt.RptUser();
+            frm.Show();
+        }
+
         private void GridView1_ColumnFilterChanged(object sender, EventArgs e)
         {
             //// 鑾峰彇GridView缁勪欢
diff --git a/DevApp/Gs.DevApp/Gs.DevApp.csproj b/DevApp/Gs.DevApp/Gs.DevApp.csproj
index 9c81670..1b1dd82 100644
--- a/DevApp/Gs.DevApp/Gs.DevApp.csproj
+++ b/DevApp/Gs.DevApp/Gs.DevApp.csproj
@@ -56,6 +56,9 @@
     <Reference Include="DevExpress.XtraReports.v19.2.Extensions, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
     <Reference Include="DevExpress.XtraTreeList.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
     <Reference Include="DevExpress.XtraWizard.v19.2, Version=19.2.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
+    <Reference Include="FastReport">
+      <HintPath>D:\GsMesV2\DevApp\Gs.DevApp\bin\Debug\FastReport.dll</HintPath>
+    </Reference>
     <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
       <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
     </Reference>
@@ -77,6 +80,12 @@
     </Compile>
     <Compile Include="DevFrm\BasicData\FrmMesItems.Designer.cs">
       <DependentUpon>FrmMesItems.cs</DependentUpon>
+    </Compile>
+    <Compile Include="DevFrm\Rpt\RptUser.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="DevFrm\Rpt\RptUser.Designer.cs">
+      <DependentUpon>RptUser.cs</DependentUpon>
     </Compile>
     <Compile Include="DevFrm\Sys\FileSelector.cs" />
     <Compile Include="DevFrm\FrmLogin.cs">
@@ -158,6 +167,18 @@
     </Compile>
     <Compile Include="Query\MesItemQuery.cs" />
     <Compile Include="Service\MesItemServices.cs" />
+    <Compile Include="TestForm\print.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TestForm\print.Designer.cs">
+      <DependentUpon>print.cs</DependentUpon>
+    </Compile>
+    <Compile Include="TestForm\t1.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TestForm\t1.Designer.cs">
+      <DependentUpon>t1.cs</DependentUpon>
+    </Compile>
     <Compile Include="TestForm\test.cs">
       <SubType>Form</SubType>
     </Compile>
@@ -201,6 +222,9 @@
     <EmbeddedResource Include="DevFrm\FrmMain.resx">
       <DependentUpon>FrmMain.cs</DependentUpon>
     </EmbeddedResource>
+    <EmbeddedResource Include="DevFrm\Rpt\RptUser.resx">
+      <DependentUpon>RptUser.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="DevFrm\Sys\DocNoRule.resx">
       <DependentUpon>DocNoRule.cs</DependentUpon>
     </EmbeddedResource>
@@ -232,6 +256,12 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources1.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <EmbeddedResource Include="TestForm\print.resx">
+      <DependentUpon>print.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TestForm\t1.resx">
+      <DependentUpon>t1.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="TestForm\test.resx">
       <DependentUpon>test.cs</DependentUpon>
     </EmbeddedResource>
diff --git a/DevApp/Gs.DevApp/Program.cs b/DevApp/Gs.DevApp/Program.cs
index cb1b0b9..12ae1dd 100644
--- a/DevApp/Gs.DevApp/Program.cs
+++ b/DevApp/Gs.DevApp/Program.cs
@@ -28,7 +28,7 @@
             {
                 Application.EnableVisualStyles();
                 Application.SetCompatibleTextRenderingDefault(false);
-                //  Application.Run(new Gs.DevApp.DevFrm.EasyCode.EasyCode());
+                // Application.Run(new Gs.DevApp.TestForm.test());
                 DevFrm.FrmLogin fmLogin = new DevFrm.FrmLogin();
                 if (fmLogin.IsDisposed == false)
                 {
diff --git a/DevApp/Gs.DevApp/TestForm/TEST.Designer.cs b/DevApp/Gs.DevApp/TestForm/TEST.Designer.cs
index 285dcdc..257026c 100644
--- a/DevApp/Gs.DevApp/TestForm/TEST.Designer.cs
+++ b/DevApp/Gs.DevApp/TestForm/TEST.Designer.cs
@@ -1,6 +1,7 @@
-namespace CreateDBClass
+锘�
+namespace Gs.DevApp.TestForm
 {
-    partial class Form1
+    partial class test
     {
         /// <summary>
         /// Required designer variable.
@@ -28,23 +29,46 @@
         /// </summary>
         private void InitializeComponent()
         {
+            this.button1 = new System.Windows.Forms.Button();
+            this.button2 = new System.Windows.Forms.Button();
             this.SuspendLayout();
             // 
-            // Form1
+            // button1
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
+            this.button1.Location = new System.Drawing.Point(75, 42);
+            this.button1.Name = "button1";
+            this.button1.Size = new System.Drawing.Size(194, 41);
+            this.button1.TabIndex = 0;
+            this.button1.Text = "鎵撳嵃璁捐";
+            this.button1.UseVisualStyleBackColor = true;
+            this.button1.Click += new System.EventHandler(this.button1_Click);
+            // 
+            // button2
+            // 
+            this.button2.Location = new System.Drawing.Point(75, 123);
+            this.button2.Name = "button2";
+            this.button2.Size = new System.Drawing.Size(194, 41);
+            this.button2.TabIndex = 1;
+            this.button2.Text = "鎵撳嵃棰勮";
+            this.button2.UseVisualStyleBackColor = true;
+            this.button2.Click += new System.EventHandler(this.button2_Click);
+            // 
+            // test
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1189, 666);
-            this.Margin = new System.Windows.Forms.Padding(4);
-            this.Name = "Form1";
-            this.Text = "Form1";
+            this.ClientSize = new System.Drawing.Size(627, 260);
+            this.Controls.Add(this.button2);
+            this.Controls.Add(this.button1);
+            this.Name = "test";
+            this.Text = "test";
             this.ResumeLayout(false);
 
         }
 
         #endregion
 
-
-      
+        private System.Windows.Forms.Button button1;
+        private System.Windows.Forms.Button button2;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/TestForm/TEST.cs b/DevApp/Gs.DevApp/TestForm/TEST.cs
index 7d7d110..5b8363f 100644
--- a/DevApp/Gs.DevApp/TestForm/TEST.cs
+++ b/DevApp/Gs.DevApp/TestForm/TEST.cs
@@ -1,3 +1,4 @@
+锘縰sing DevExpress.XtraEditors;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
@@ -5,15 +6,28 @@
 using System.Drawing;
 using System.Linq;
 using System.Text;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 
-namespace CreateDBClass
+namespace Gs.DevApp.TestForm
 {
-    public partial class Form1 : Form
+    public partial class test : DevExpress.XtraEditors.XtraForm
     {
-        public Form1()
+        public test()
         {
             InitializeComponent();
         }
+
+        private void button1_Click(object sender, EventArgs e)
+        {
+            t1 dd = new t1();
+            dd.Show();
+        }
+
+        private void button2_Click(object sender, EventArgs e)
+        {
+            print dd = new print();
+            dd.Show();
+        }
     }
-}
+}
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/TestForm/XtraForm1.Designer.cs b/DevApp/Gs.DevApp/TestForm/XtraForm1.Designer.cs
index 36f25fc..0529239 100644
--- a/DevApp/Gs.DevApp/TestForm/XtraForm1.Designer.cs
+++ b/DevApp/Gs.DevApp/TestForm/XtraForm1.Designer.cs
@@ -29,13 +29,19 @@
         /// </summary>
         private void InitializeComponent()
         {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XtraForm1));
             this.button1 = new System.Windows.Forms.Button();
             this.pageBar1 = new UserControls.Data.PageBar();
             this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
             this.treeListLookUpEdit1 = new DevExpress.XtraEditors.TreeListLookUpEdit();
             this.treeListLookUpEdit1TreeList = new DevExpress.XtraTreeList.TreeList();
+            this.designerControl1 = new FastReport.Design.StandardDesigner.DesignerControl();
+            this.previewControl1 = new FastReport.Preview.PreviewControl();
+            this.report1 = new FastReport.Report();
             ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1.Properties)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.designerControl1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.report1)).BeginInit();
             this.SuspendLayout();
             // 
             // button1
@@ -62,35 +68,66 @@
             // simpleButton1
             // 
             this.simpleButton1.ImageOptions.Image = global::Gs.DevApp.Properties.Resources.formatnumbertime_16x16;
-            this.simpleButton1.Location = new System.Drawing.Point(472, 102);
+            this.simpleButton1.Location = new System.Drawing.Point(590, 128);
+            this.simpleButton1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.simpleButton1.Name = "simpleButton1";
-            this.simpleButton1.Size = new System.Drawing.Size(94, 29);
+            this.simpleButton1.Size = new System.Drawing.Size(118, 36);
             this.simpleButton1.TabIndex = 1;
             this.simpleButton1.Text = "simpleButton1";
             // 
             // treeListLookUpEdit1
             // 
-            this.treeListLookUpEdit1.Location = new System.Drawing.Point(261, 168);
+            this.treeListLookUpEdit1.Location = new System.Drawing.Point(326, 210);
+            this.treeListLookUpEdit1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
             this.treeListLookUpEdit1.Name = "treeListLookUpEdit1";
             this.treeListLookUpEdit1.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
             new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
             this.treeListLookUpEdit1.Properties.TreeList = this.treeListLookUpEdit1TreeList;
-            this.treeListLookUpEdit1.Size = new System.Drawing.Size(125, 24);
+            this.treeListLookUpEdit1.Size = new System.Drawing.Size(156, 24);
             this.treeListLookUpEdit1.TabIndex = 3;
             // 
             // treeListLookUpEdit1TreeList
             // 
+            this.treeListLookUpEdit1TreeList.HorzScrollStep = 4;
             this.treeListLookUpEdit1TreeList.Location = new System.Drawing.Point(0, 0);
+            this.treeListLookUpEdit1TreeList.MinWidth = 25;
             this.treeListLookUpEdit1TreeList.Name = "treeListLookUpEdit1TreeList";
             this.treeListLookUpEdit1TreeList.OptionsView.ShowIndentAsRowStyle = true;
             this.treeListLookUpEdit1TreeList.Size = new System.Drawing.Size(400, 200);
             this.treeListLookUpEdit1TreeList.TabIndex = 0;
+            this.treeListLookUpEdit1TreeList.TreeLevelWidth = 22;
+            // 
+            // designerControl1
+            // 
+            this.designerControl1.AskSave = true;
+            this.designerControl1.LayoutState = resources.GetString("designerControl1.LayoutState");
+            this.designerControl1.Location = new System.Drawing.Point(0, 0);
+            this.designerControl1.Name = "designerControl1";
+            this.designerControl1.TabIndex = 0;
+            this.designerControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
+            // 
+            // previewControl1
+            // 
+            this.previewControl1.BackColor = System.Drawing.SystemColors.AppWorkspace;
+            this.previewControl1.Font = new System.Drawing.Font("瀹嬩綋", 7.2F);
+            this.previewControl1.Location = new System.Drawing.Point(347, 314);
+            this.previewControl1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
+            this.previewControl1.Name = "previewControl1";
+            this.previewControl1.PageOffset = new System.Drawing.Point(10, 10);
+            this.previewControl1.Size = new System.Drawing.Size(643, 262);
+            this.previewControl1.TabIndex = 4;
+            this.previewControl1.UIStyle = FastReport.Utils.UIStyle.Office2007Black;
+            // 
+            // report1
+            // 
+            this.report1.ReportResourceString = resources.GetString("report1.ReportResourceString");
             // 
             // XtraForm1
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(842, 424);
+            this.Controls.Add(this.previewControl1);
             this.Controls.Add(this.treeListLookUpEdit1);
             this.Controls.Add(this.pageBar1);
             this.Controls.Add(this.simpleButton1);
@@ -99,6 +136,8 @@
             this.Text = "XtraForm1";
             ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1.Properties)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.treeListLookUpEdit1TreeList)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.designerControl1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.report1)).EndInit();
             this.ResumeLayout(false);
 
         }
@@ -110,5 +149,8 @@
         private UserControls.Data.PageBar pageBar1;
         private DevExpress.XtraEditors.TreeListLookUpEdit treeListLookUpEdit1;
         private DevExpress.XtraTreeList.TreeList treeListLookUpEdit1TreeList;
+        private FastReport.Design.StandardDesigner.DesignerControl designerControl1;
+        private FastReport.Preview.PreviewControl previewControl1;
+        private FastReport.Report report1;
     }
 }
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/TestForm/XtraForm1.resx b/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
index 1af7de1..9822d86 100644
--- a/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
+++ b/DevApp/Gs.DevApp/TestForm/XtraForm1.resx
@@ -117,4 +117,20 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="designerControl1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <data name="designerControl1.LayoutState" xml:space="preserve">
+    <value>锘�&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Config&gt;&lt;Designer&gt;&lt;DockNew Text="&amp;lt;dotnetbarlayout version=&amp;quot;6&amp;quot; zorder=&amp;quot;3,4,1,2&amp;quot;&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Top&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Bottom&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;0&amp;quot; h=&amp;quot;95&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;MessagesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;4&amp;quot; visible=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;MessagesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;docksite size=&amp;quot;0&amp;quot; dockingside=&amp;quot;Left&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;docksite size=&amp;quot;250&amp;quot; dockingside=&amp;quot;Right&amp;quot; originaldocksitesize=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;dockcontainer orientation=&amp;quot;1&amp;quot; w=&amp;quot;0&amp;quot; h=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;61&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;DictionaryWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot; seldocktab=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;DictionaryWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;item name=&amp;quot;ReportTreeWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;1&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;barcontainer w=&amp;quot;247&amp;quot; h=&amp;quot;-14&amp;quot;&amp;gt;&amp;lt;bar name=&amp;quot;PropertiesWindowBar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;2&amp;quot; dockoffset=&amp;quot;64&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;2&amp;quot; visible=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;items&amp;gt;&amp;lt;item name=&amp;quot;PropertiesWindow&amp;quot; origBar=&amp;quot;&amp;quot; origPos=&amp;quot;-1&amp;quot; pos=&amp;quot;0&amp;quot; /&amp;gt;&amp;lt;/items&amp;gt;&amp;lt;/bar&amp;gt;&amp;lt;/barcontainer&amp;gt;&amp;lt;/dockcontainer&amp;gt;&amp;lt;/docksite&amp;gt;&amp;lt;bars&amp;gt;&amp;lt;bar name=&amp;quot;StandardToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;TextToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;BorderToolbar&amp;quot; dockline=&amp;quot;1&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;152&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;LayoutToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;StyleToolbar&amp;quot; dockline=&amp;quot;2&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;3&amp;quot; visible=&amp;quot;false&amp;quot; /&amp;gt;&amp;lt;bar name=&amp;quot;ObjectsToolbar&amp;quot; dockline=&amp;quot;0&amp;quot; layout=&amp;quot;0&amp;quot; dockoffset=&amp;quot;0&amp;quot; state=&amp;quot;2&amp;quot; dockside=&amp;quot;1&amp;quot; visible=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;/bars&amp;gt;&amp;lt;/dotnetbarlayout&amp;gt;"/&gt;&lt;/Designer&gt;&lt;/Config&gt;</value>
+  </data>
+  <metadata name="report1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>202, 17</value>
+  </metadata>
+  <data name="report1.ReportResourceString" xml:space="preserve">
+    <value>锘�&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;Report ScriptLanguage="CSharp" ReportInfo.Created="09/09/2024 23:04:30" ReportInfo.Modified="09/09/2024 23:04:32" ReportInfo.CreatorVersion="2013.2.5.0"&gt;
+  &lt;Dictionary/&gt;
+&lt;/Report&gt;
+</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
index 787ff3b..af56266 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.Designer.cs
@@ -55,6 +55,7 @@
             this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
             this.barDockControlRight = new DevExpress.XtraBars.BarDockControl();
             this.barLargeButtonItem5 = new DevExpress.XtraBars.BarLargeButtonItem();
+            this.btnReport = new DevExpress.XtraBars.BarLargeButtonItem();
             ((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
             this.SuspendLayout();
             // 
@@ -104,9 +105,10 @@
             this.barLargeButtonItem4,
             this.btnKG,
             this.barLargeButtonItem5,
-            this.btnRole});
+            this.btnRole,
+            this.btnReport});
             this.barManager1.MainMenu = this.bar2;
-            this.barManager1.MaxItemId = 22;
+            this.barManager1.MaxItemId = 23;
             // 
             // bar2
             // 
@@ -129,7 +131,8 @@
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem3),
             new DevExpress.XtraBars.LinkPersistInfo(this.barLargeButtonItem4),
             new DevExpress.XtraBars.LinkPersistInfo(this.btnKG),
-            new DevExpress.XtraBars.LinkPersistInfo(this.btnRole)});
+            new DevExpress.XtraBars.LinkPersistInfo(this.btnRole),
+            new DevExpress.XtraBars.LinkPersistInfo(this.btnReport)});
             this.bar2.OptionsBar.MultiLine = true;
             this.bar2.OptionsBar.UseWholeRow = true;
             this.bar2.Text = "Main menu";
@@ -319,6 +322,14 @@
             this.barLargeButtonItem5.Id = 20;
             this.barLargeButtonItem5.Name = "barLargeButtonItem5";
             // 
+            // btnReport
+            // 
+            this.btnReport.Caption = "鎶ヨ〃";
+            this.btnReport.Id = 22;
+            this.btnReport.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnReport.ImageOptions.Image")));
+            this.btnReport.Name = "btnReport";
+            this.btnReport.PaintStyle = DevExpress.XtraBars.BarItemPaintStyle.CaptionGlyph;
+            // 
             // ToolBarMenu
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 18F);
@@ -360,5 +371,6 @@
         private DevExpress.XtraBars.BarLargeButtonItem btnKG;
         private DevExpress.XtraBars.BarLargeButtonItem barLargeButtonItem5;
         private DevExpress.XtraBars.BarLargeButtonItem btnRole;
+        private DevExpress.XtraBars.BarLargeButtonItem btnReport;
     }
 }
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
index d063d77..0d04d4e 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.cs
@@ -55,6 +55,10 @@
         /// </summary>
         public event EventHandler btnRoleClick;
 
+        /// <summary>
+        /// 鏉冮檺
+        /// </summary>
+        public event EventHandler btnReportClick;
 
         public ToolBarMenu()
         {
@@ -67,6 +71,7 @@
             this.btnKG.ItemClick += BtnKG_ItemClick;
             this.btnEsc.ItemClick += BtnEsc_ItemClick;
             this.btnRole.ItemClick += BtnRole_ItemClick;
+            this.btnReport.ItemClick += BtnReport_ItemClick;
             initialization();
             List<string> lst = new List<string>();
             foreach (BarItem item in barManager1.Items)
@@ -78,6 +83,15 @@
             }
             this.actions = lst;
         }
+
+        private void BtnReport_ItemClick(object sender, ItemClickEventArgs e)
+        {
+            if (btnReportClick != null)
+            {
+                btnReportClick(this, e);
+            }
+        }
+
         protected override void OnCreateControl()
         {
             base.OnCreateControl();
@@ -94,6 +108,7 @@
             lst.Add(btnLoad.Name);
             lst.Add(btnDel.Name);
             lst.Add(btnRole.Name);
+            lst.Add(btnReport.Name);
             setBtn(lst);
 
         }
diff --git a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
index d2db0f0..d0c6557 100644
--- a/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
+++ b/DevApp/Gs.DevApp/UserControl/ToolBarMenu.resx
@@ -187,65 +187,6 @@
         f+6EnGfdugKwnQr2BIeDYf6s2JhN/P3hT7WuAGyDQf4foiES/RvDCa9FOGI5gAAAAABJRU5ErkJggg==
 </value>
   </data>
-  <data name="barLargeButtonItem8.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
-        bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S
-        RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5
-        3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z
-        iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs
-        moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX
-        MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi
-        hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P
-        8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/
-        PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq
-        w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r
-        4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA
-        SUVORK5CYII=
-</value>
-  </data>
-  <data name="barLargeButtonItem8.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        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
-</value>
-  </data>
   <data name="barLargeButtonItem1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABx0RVh0VGl0
@@ -370,6 +311,65 @@
         RU5ErkJggg==
 </value>
   </data>
+  <data name="barLargeButtonItem8.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
+        bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S
+        RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5
+        3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z
+        iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs
+        moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX
+        MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi
+        hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P
+        8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/
+        PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq
+        w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r
+        4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA
+        SUVORK5CYII=
+</value>
+  </data>
+  <data name="barLargeButtonItem8.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
   <data name="barLargeButtonItem3.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAA50RVh0VGl0
@@ -485,4 +485,40 @@
         T5oqAAAAAElFTkSuQmCC
 </value>
   </data>
+  <data name="btnReport.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
 </root>
\ No newline at end of file

--
Gitblit v1.9.3