Selaa lähdekoodia

Merge branch 'master' of ssh://10.10.100.21/source/mes-client

Hcsy 7 vuotta sitten
vanhempi
commit
9b6d3feb92

+ 57 - 0
UAS_DeviceMonitor/CustomerControl/AutoDataGridControl/AutoDataGridControl.Designer.cs

@@ -0,0 +1,57 @@
+namespace UAS_DeviceMonitor.CustomerControl.AutoDataGridControl
+{
+    partial class AutoDataGridControl
+    {
+        /// <summary> 
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region 组件设计器生成的代码
+
+        /// <summary> 
+        /// 设计器支持所需的方法 - 不要修改
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // gridView1
+            // 
+            this.gridView1.GridControl = this;
+            this.gridView1.Name = "gridView1";
+            // 
+            // AutoDataGridControl
+            // 
+            this.MainView = this.gridView1;
+            this.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView1});
+            this.VisibleChanged += new System.EventHandler(this.AutoDataGridControl_VisibleChanged);
+            ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
+    }
+}

+ 64 - 0
UAS_DeviceMonitor/CustomerControl/AutoDataGridControl/AutoDataGridControl.cs

@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using DevExpress.XtraGrid;
+using UAS_DeviceMonitor.DataOperate;
+using UAS_DeviceMonitor.Entity;
+
+namespace UAS_DeviceMonitor.CustomerControl.AutoDataGridControl
+{
+    public partial class AutoDataGridControl : GridControl
+    {
+        string getDataSQL;
+
+        DataHelper dh = new DataHelper();
+        //获取数据的SQL
+        public string GetDataSQL
+        {
+            get
+            {
+                return getDataSQL;
+            }
+
+            set
+            {
+                getDataSQL = value;
+            }
+        }
+        //获取数据的总行数
+        public int RowCount
+        {
+            get
+            {
+                return rowCount;
+            }
+
+            set
+            {
+                rowCount = value;
+            }
+        }
+
+        private int rowCount;
+
+        public AutoDataGridControl()
+        {
+            InitializeComponent();
+        }
+
+        private void AutoDataGridControl_VisibleChanged(object sender, EventArgs e)
+        {
+            if (getDataSQL != null)
+            {
+                DataTable dt = (DataTable)dh.ExecuteSql(getDataSQL, "select");
+                rowCount = dt.Rows.Count;
+                DataSource = dt;
+            }
+        }
+    }
+}

+ 123 - 0
UAS_DeviceMonitor/CustomerControl/AutoDataGridControl/AutoDataGridControl.resx

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

+ 209 - 0
UAS_DeviceMonitor/CustomerControl/PagingControl/PageControl.Designer.cs

@@ -0,0 +1,209 @@
+namespace UAS_DeviceMonitor.CustomerControl.PagingControl
+{
+    partial class PageControl
+    {
+        /// <summary> 
+        /// 必需的设计器变量。
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary> 
+        /// 清理所有正在使用的资源。
+        /// </summary>
+        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region 组件设计器生成的代码
+
+        /// <summary> 
+        /// 设计器支持所需的方法 - 不要修改
+        /// 使用代码编辑器修改此方法的内容。
+        /// </summary>
+        private void InitializeComponent()
+        {
+            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PageControl));
+            this.GoFirstPage = new DevExpress.XtraEditors.SimpleButton();
+            this.GoFormerPage = new DevExpress.XtraEditors.SimpleButton();
+            this.CurrentPage = new System.Windows.Forms.TextBox();
+            this.GoNextPage = new DevExpress.XtraEditors.SimpleButton();
+            this.GoLastPage = new DevExpress.XtraEditors.SimpleButton();
+            this.PageSize_label = new DevExpress.XtraEditors.LabelControl();
+            this.ExportAllPage = new DevExpress.XtraEditors.SimpleButton();
+            this.ExportCurrentPage = new DevExpress.XtraEditors.SimpleButton();
+            this.PageSize = new DevExpress.XtraEditors.ComboBoxEdit();
+            this.PageCount_label = new DevExpress.XtraEditors.LabelControl();
+            this.PageCount = new DevExpress.XtraEditors.TextEdit();
+            ((System.ComponentModel.ISupportInitialize)(this.PageSize.Properties)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.PageCount.Properties)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // GoFirstPage
+            // 
+            this.GoFirstPage.Dock = System.Windows.Forms.DockStyle.Left;
+            this.GoFirstPage.Image = ((System.Drawing.Image)(resources.GetObject("GoFirstPage.Image")));
+            this.GoFirstPage.ImageLocation = DevExpress.XtraEditors.ImageLocation.MiddleRight;
+            this.GoFirstPage.Location = new System.Drawing.Point(0, 0);
+            this.GoFirstPage.Name = "GoFirstPage";
+            this.GoFirstPage.Size = new System.Drawing.Size(38, 29);
+            this.GoFirstPage.TabIndex = 1;
+            this.GoFirstPage.Click += new System.EventHandler(this.GoPage_Click);
+            // 
+            // GoFormerPage
+            // 
+            this.GoFormerPage.Dock = System.Windows.Forms.DockStyle.Left;
+            this.GoFormerPage.Image = ((System.Drawing.Image)(resources.GetObject("GoFormerPage.Image")));
+            this.GoFormerPage.ImageLocation = DevExpress.XtraEditors.ImageLocation.MiddleRight;
+            this.GoFormerPage.Location = new System.Drawing.Point(38, 0);
+            this.GoFormerPage.Name = "GoFormerPage";
+            this.GoFormerPage.Size = new System.Drawing.Size(38, 29);
+            this.GoFormerPage.TabIndex = 2;
+            this.GoFormerPage.Click += new System.EventHandler(this.GoPage_Click);
+            // 
+            // CurrentPage
+            // 
+            this.CurrentPage.Dock = System.Windows.Forms.DockStyle.Left;
+            this.CurrentPage.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.CurrentPage.Location = new System.Drawing.Point(76, 0);
+            this.CurrentPage.Multiline = true;
+            this.CurrentPage.Name = "CurrentPage";
+            this.CurrentPage.Size = new System.Drawing.Size(42, 29);
+            this.CurrentPage.TabIndex = 3;
+            this.CurrentPage.Text = "1";
+            this.CurrentPage.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+            // 
+            // GoNextPage
+            // 
+            this.GoNextPage.Dock = System.Windows.Forms.DockStyle.Left;
+            this.GoNextPage.Image = ((System.Drawing.Image)(resources.GetObject("GoNextPage.Image")));
+            this.GoNextPage.ImageLocation = DevExpress.XtraEditors.ImageLocation.MiddleRight;
+            this.GoNextPage.Location = new System.Drawing.Point(118, 0);
+            this.GoNextPage.Name = "GoNextPage";
+            this.GoNextPage.Size = new System.Drawing.Size(38, 29);
+            this.GoNextPage.TabIndex = 4;
+            this.GoNextPage.Click += new System.EventHandler(this.GoPage_Click);
+            // 
+            // GoLastPage
+            // 
+            this.GoLastPage.Dock = System.Windows.Forms.DockStyle.Left;
+            this.GoLastPage.Image = ((System.Drawing.Image)(resources.GetObject("GoLastPage.Image")));
+            this.GoLastPage.ImageLocation = DevExpress.XtraEditors.ImageLocation.MiddleRight;
+            this.GoLastPage.Location = new System.Drawing.Point(156, 0);
+            this.GoLastPage.Name = "GoLastPage";
+            this.GoLastPage.Size = new System.Drawing.Size(38, 29);
+            this.GoLastPage.TabIndex = 5;
+            this.GoLastPage.Click += new System.EventHandler(this.GoPage_Click);
+            // 
+            // PageSize_label
+            // 
+            this.PageSize_label.Appearance.Font = new System.Drawing.Font("微软雅黑", 10F);
+            this.PageSize_label.Location = new System.Drawing.Point(200, 4);
+            this.PageSize_label.Name = "PageSize_label";
+            this.PageSize_label.Size = new System.Drawing.Size(56, 20);
+            this.PageSize_label.TabIndex = 6;
+            this.PageSize_label.Text = "分页大小";
+            // 
+            // ExportAllPage
+            // 
+            this.ExportAllPage.Dock = System.Windows.Forms.DockStyle.Right;
+            this.ExportAllPage.Location = new System.Drawing.Point(808, 0);
+            this.ExportAllPage.Name = "ExportAllPage";
+            this.ExportAllPage.Size = new System.Drawing.Size(75, 29);
+            this.ExportAllPage.TabIndex = 7;
+            this.ExportAllPage.Text = "导出全部页";
+            this.ExportAllPage.Visible = false;
+            // 
+            // ExportCurrentPage
+            // 
+            this.ExportCurrentPage.Dock = System.Windows.Forms.DockStyle.Right;
+            this.ExportCurrentPage.Location = new System.Drawing.Point(733, 0);
+            this.ExportCurrentPage.Name = "ExportCurrentPage";
+            this.ExportCurrentPage.Size = new System.Drawing.Size(75, 29);
+            this.ExportCurrentPage.TabIndex = 8;
+            this.ExportCurrentPage.Text = "导出当前页";
+            this.ExportCurrentPage.Visible = false;
+            // 
+            // PageSize
+            // 
+            this.PageSize.EditValue = "20";
+            this.PageSize.Location = new System.Drawing.Point(264, 0);
+            this.PageSize.Name = "PageSize";
+            this.PageSize.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 13F);
+            this.PageSize.Properties.Appearance.Options.UseFont = true;
+            this.PageSize.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+            this.PageSize.Properties.Items.AddRange(new object[] {
+            "20",
+            "30",
+            "40",
+            "50"});
+            this.PageSize.Size = new System.Drawing.Size(59, 28);
+            this.PageSize.TabIndex = 9;
+            // 
+            // PageCount_label
+            // 
+            this.PageCount_label.Appearance.Font = new System.Drawing.Font("微软雅黑", 10F);
+            this.PageCount_label.Location = new System.Drawing.Point(329, 4);
+            this.PageCount_label.Name = "PageCount_label";
+            this.PageCount_label.Size = new System.Drawing.Size(42, 20);
+            this.PageCount_label.TabIndex = 10;
+            this.PageCount_label.Text = "总页数";
+            // 
+            // PageCount
+            // 
+            this.PageCount.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left)));
+            this.PageCount.Enabled = false;
+            this.PageCount.Location = new System.Drawing.Point(377, 1);
+            this.PageCount.Name = "PageCount";
+            this.PageCount.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
+            this.PageCount.Properties.Appearance.Options.UseFont = true;
+            this.PageCount.Size = new System.Drawing.Size(42, 26);
+            this.PageCount.TabIndex = 12;
+            // 
+            // PageControl
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.Controls.Add(this.PageCount);
+            this.Controls.Add(this.PageCount_label);
+            this.Controls.Add(this.PageSize);
+            this.Controls.Add(this.ExportCurrentPage);
+            this.Controls.Add(this.ExportAllPage);
+            this.Controls.Add(this.PageSize_label);
+            this.Controls.Add(this.GoLastPage);
+            this.Controls.Add(this.GoNextPage);
+            this.Controls.Add(this.CurrentPage);
+            this.Controls.Add(this.GoFormerPage);
+            this.Controls.Add(this.GoFirstPage);
+            this.Name = "PageControl";
+            this.Size = new System.Drawing.Size(883, 29);
+            this.Load += new System.EventHandler(this.PageControl_Load);
+            ((System.ComponentModel.ISupportInitialize)(this.PageSize.Properties)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.PageCount.Properties)).EndInit();
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private DevExpress.XtraEditors.SimpleButton GoFirstPage;
+        private DevExpress.XtraEditors.SimpleButton GoFormerPage;
+        private System.Windows.Forms.TextBox CurrentPage;
+        private DevExpress.XtraEditors.SimpleButton GoNextPage;
+        private DevExpress.XtraEditors.SimpleButton GoLastPage;
+        private DevExpress.XtraEditors.LabelControl PageSize_label;
+        private DevExpress.XtraEditors.SimpleButton ExportAllPage;
+        private DevExpress.XtraEditors.SimpleButton ExportCurrentPage;
+        private DevExpress.XtraEditors.ComboBoxEdit PageSize;
+        private DevExpress.XtraEditors.LabelControl PageCount_label;
+        private DevExpress.XtraEditors.TextEdit PageCount;
+    }
+}

+ 86 - 0
UAS_DeviceMonitor/CustomerControl/PagingControl/PageControl.cs

@@ -0,0 +1,86 @@
+using System;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using UAS_DeviceMonitor.DataOperate;
+using UAS_DeviceMonitor.Entity;
+
+namespace UAS_DeviceMonitor.CustomerControl.PagingControl
+{
+    public partial class PageControl : UserControl
+    {
+
+        DataHelper dh = SystemInf.dh;
+
+        private AutoDataGridControl.AutoDataGridControl gridcontrol;
+
+        public AutoDataGridControl.AutoDataGridControl Gridcontrol
+        {
+            get
+            {
+                return gridcontrol;
+            }
+
+            set
+            {
+                gridcontrol = value;
+            }
+        }
+
+        public PageControl()
+        {
+            InitializeComponent();
+        }
+
+        private void PageControl_Load(object sender, EventArgs e)
+        {
+            if (gridcontrol != null)
+                gridcontrol.VisibleChanged += Gridcontrol_VisibleChanged;
+        }
+
+        private void Gridcontrol_VisibleChanged(object sender, EventArgs e)
+        {
+            PageCount.Text = (gridcontrol.RowCount / int.Parse(PageSize.Text) + 1).ToString();
+        }
+
+        private void GoPage_Click(object sender, EventArgs e)
+        {
+            SimpleButton button = sender as SimpleButton;
+            string SQL = gridcontrol.GetDataSQL;
+            int pagesize = int.Parse(PageSize.Text);
+            int currentpage = int.Parse(CurrentPage.Text);
+            int rowcount = gridcontrol.RowCount;
+            switch (button.Name)
+            {
+                case "GoFirstPage":
+                    CurrentPage.Text = "1";
+                    currentpage = 1;
+                    break;
+                case "GoFormerPage":
+                    if (currentpage == 1)
+                    {
+                        MessageBox.Show("当前已经是第一页");
+                        return;
+                    }
+                    CurrentPage.Text = (currentpage - 1).ToString();
+                    currentpage = currentpage - 1;
+                    break;
+                case "GoNextPage":
+                    if (currentpage.ToString() == PageCount.Text)
+                    {
+                        MessageBox.Show("当前已经是最后一页");
+                        return;
+                    }
+                    CurrentPage.Text = (currentpage + 1).ToString();
+                    currentpage = currentpage + 1;
+                    break;
+                case "GoLastPage":
+                    CurrentPage.Text = ((rowcount / pagesize) + 1).ToString();
+                    currentpage = int.Parse(PageCount.Text);
+                    break;
+                default:
+                    break;
+            }
+            gridcontrol.DataSource = dh.ExecuteSql("select * from (select RowNum RN, A.* from(" + SQL + ")A) where RN<=" + pagesize * currentpage + "and RN >" + pagesize * (currentpage - 1), "select");
+        }
+    }
+}

+ 257 - 0
UAS_DeviceMonitor/CustomerControl/PagingControl/PageControl.resx

@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="GoFirstPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAACx0RVh0VGl0
+        bGUAUHJldjtEb3VibGU7QXJyb3c7U2xvdztSZXdpbmQ7RGVjcmVhc2V6U95RAAAHBElEQVRYR8WWe1CU
+        1xnGj61KbWuixk7TxqaXsW1qY0qrsXU6aVJN2tGamJqYRmwNjkMmtWI1iaLgIhdZMDQQLXZZbirI/Q5B
+        YSkscpX7glxcYLkvu6CA3OKiSZ6+7we7m5U1/aMdcmZ+w+55zr7P855z9lsEgC8Uu5Pzid3J+cTu5Hwi
+        Tmc0iYD06xL+hDytUchTiZRGcSq58b/qNBZ8Fq/4enGS8IytE56XaufoPMHDEkCeRkW5IOE3W/RUcoPw
+        TdIInwTNA3UaXOxLxEJiEbGY+DKxwCOmhv48WCesAWaKNohA6tSHTL3J1DuBu6AO4urm6LMFGC7m4OwV
+        t+5waGn+28oKqiYcZuc/T+dQ1gA+iWRIBFCHhrufCiNz71MxSPD4rE7DXHjxln3eqw6cLYz0Taj/uFB7
+        C67nytjg66zdrxe0W/SvEfx5awDPuHoho/PyS2oQhumZAIOz8GCdBhtz8kVrn3n54beC8tyPRlwbz6zV
+        o2V0GuUDUzgZXcUGK364btMKs55RP4DW8buouWXCW2eKWV9K2AbwiK4V7oQXbfcABbDswkwAizGxZK88
+        Y/fBc6VdF9U6tIyYcM0whfTWEfy7cxTJha3Y5RG9zzWkuPtCkQ7Nt6dRO2yCqmcS5cY72Beo5gAPEXwn
+        rAHcoqrF0agqcYIujp4CcAgaZmNe7LDzSPjTbwapi4Mzm6AxTKJhZBp5nWNIuzGM+IZBxFf34Fh4OYKz
+        mlFnnELT+D1cHfgIqt5JXO6aQAnt0Bv+BRzg4dma1gBvR1SKw2HXxDEKojd9wprlAm3eI1u17z1V5Ino
+        mk9KO4ahHbuH4v6P8GEHmbfcRHRNP2RxtZBF16BYNwLtxMeoGDKhUG81z6K16r5J7PJRcYBlhG2Ag4py
+        4RpSxnOWC/bjDVuW7fHN9nANKR1Pq+pDB51jpdGEXOo6SzuMpAYj/DMacUhRjtTqfrRP3kPtrbsooq4L
+        KCBvu9k8TTuKfHr/iuwKB1hO2Ab469kSfm/e7iWvy5J3uwSqu8Ly2tAyfAd1N3m7J5DTcRvpzUM4m6fF
+        wZBSKFVtaB41QTNCxvo7KCTj/N4p5HVPIqdzHJntY0i5MYrE5hFka29j+7FsDrCC4PtkDUCDO1/4+vFL
+        G/8iV5X5J2hQ3TNGxiYqNkHbTcXaRhFV3oNDynKwXkW6hu6BWj8lmaqIXMl4Atm0Pr3tNlJaRxF3fRiK
+        a0Y6qkFsfTeT3R4hOMCC+wMs3ntaDVWjETUDk0htHsUlDV2w6yNSBwl00ezpifQ3nbrLaBuTOk6j1wm0
+        Poa0UDIOvtqP0wW9iKw04oW/p7HbSsJugEXbD8fs2OGRrT0aWYOkukGkNY3gfPUQwisHEVrWD+/URvzZ
+        Lx/36xFVM2uUhKLcgJBSAz4o1uN99Yy5n6oHSpp/bn8yu32D4AfVnAB8BxyWrvzu8t+6hB/ediTzpiym
+        Hkkauum1gwgp0SNY3Y2AyzdwILQEO9xzYNZj6oZwrsyAf5YO4AwZBxX1I1DdhwAyP0Xm3le6ca5Uj2dc
+        Etjtm4RtgK3vZNB7Swjenq+uWvv77/zaOeLM1nfSTZ7xDdIZ/qtMjwBVF05dboN7sgZO8jxQULAeUzsE
+        RYUBgYV91HUf5Pm98M2bMffM6cQHRX3YuDeOAzxK2AbY/LcUsWl/snjeNYXmpSDSM4BY+r0NTk8+7aRM
+        3PZuFnxSWqAsG0BAfjdk2W04ntqEA+cr8OLxDJj1MNrq9yiAd243Tl7uwokcHdyzdfhHYS827LnEAb5F
+        2AZ41iVR0PaIZ99MFAn1Q+J8lZF0KQh/Lb9CLFv9m4O/+/lrirKX3LLhm6ml8+2FLKsDR5JbcCi2Dq7K
+        q9iyPxZmPYg6PpnTheOZOrhldFDoHqzfHc0Bvk1wc9YAG/fGil85x4qNzjFSADpzEWUNYT4W/hVbufo5
+        tzeeekWhe9UzF95k5JOrw5GUVnhlteD980V4/Jcuh0jvZN0nq42OoQtu6e2Qq7rxi10XOMBjhG2A9U4X
+        xTqnCxJJmiERV0cBKg0ivGKA1kkhbI5l0ZLlj63e5ClzfDVseLe8AF4ftsP3ig5/OBDPBk8sdHjo+xbd
+        vxDeOR3wy+uG45+iWF81W8cawHFnlPjZzkiJmOpBcbHaKC7QDoRVGGjdjM4fmMVyLEsffeqJ1Zt9lOt3
+        RU07BxXD8bUINnic4B+c5TZ6cAnpkazPPYK1O8LFk8wfwyR++rJSYs12Ja2z1fmDhOXbQqx85AebNvzo
+        Bf9Ux51SAP6eswFfNHv63AcRG63ZHirWvBQqfvIio5hhm4LW2de5AMFB2Ij/C+JnPLOE4HkzD9KtAf6H
+        YT4WLshdMVJxgsfn6v+PAOZhNjJz/7CrWwKYX3xR2J2cT+xOzid2J+cPiP8AnHhdaUogrjYAAAAASUVO
+        RK5CYII=
+</value>
+  </data>
+  <data name="GoFormerPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="GoNextPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="GoLastPage.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        CCaHDmD/AczaVSkRWPJ1AAAAAElFTkSuQmCC
+</value>
+  </data>
+</root>

+ 1 - 1
UAS_DeviceMonitor/DataOperate/DataHelper.cs

@@ -534,7 +534,7 @@ namespace UAS_DeviceMonitor.DataOperate
                 for (int i = 0; i < addpar.Length; i++)
                     command.Parameters.Add(new OracleParameter(addpar[i].ToString(), OracleDbType.Varchar2, names[i], ParameterDirection.Input));
             }
-
+            Console.WriteLine(SQL);
             switch (Type.ToUpper())
             {
                 case "SELECT":

+ 254 - 78
UAS_DeviceMonitor/Main.Designer.cs

@@ -1,4 +1,6 @@
-namespace UAS_DeviceMonitor
+using UAS_DeviceMonitor.CustomerControl.AutoDataGridControl;
+
+namespace UAS_DeviceMonitor
 {
     partial class Main
     {
@@ -29,7 +31,7 @@
         private void InitializeComponent()
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
-            this.ribbon = new DevExpress.XtraBars.Ribbon.RibbonControl();
+            this.RibbonNav = new DevExpress.XtraBars.Ribbon.RibbonControl();
             this.barButtonItem1 = new DevExpress.XtraBars.BarButtonItem();
             this.ButtonDeviceList = new DevExpress.XtraBars.BarButtonItem();
             this.ButtonDeviceKind = new DevExpress.XtraBars.BarButtonItem();
@@ -50,12 +52,8 @@
             this.ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage();
             this.MainTabControl = new DevExpress.XtraTab.XtraTabControl();
             this.PageDeviceList = new DevExpress.XtraTab.XtraTabPage();
-            this.GridDeviceList = new DevExpress.XtraGrid.GridControl();
-            this.PageCommandSet = new DevExpress.XtraTab.XtraTabPage();
-            this.PageDeviceKind = new DevExpress.XtraTab.XtraTabPage();
-            this.PageDeviceStatus = new DevExpress.XtraTab.XtraTabPage();
-            this.PagePollingSetting = new DevExpress.XtraTab.XtraTabPage();
-            this.PagePolling = new DevExpress.XtraTab.XtraTabPage();
+            this.pageControl1 = new UAS_DeviceMonitor.CustomerControl.PagingControl.PageControl();
+            this.GridDeviceList = new UAS_DeviceMonitor.CustomerControl.AutoDataGridControl.AutoDataGridControl();
             this.gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
             this.de_id = new DevExpress.XtraGrid.Columns.GridColumn();
             this.de_code = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -65,21 +63,47 @@
             this.de_spec = new DevExpress.XtraGrid.Columns.GridColumn();
             this.de_vendcode = new DevExpress.XtraGrid.Columns.GridColumn();
             this.de_vendname = new DevExpress.XtraGrid.Columns.GridColumn();
-            ((System.ComponentModel.ISupportInitialize)(this.ribbon)).BeginInit();
+            this.de_address = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.de_wccode = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.PageCommandSet = new DevExpress.XtraTab.XtraTabPage();
+            this.GridCommandSetting = new DevExpress.XtraGrid.GridControl();
+            this.gridView2 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.PageDeviceKind = new DevExpress.XtraTab.XtraTabPage();
+            this.PageDeviceStatus = new DevExpress.XtraTab.XtraTabPage();
+            this.PagePollingSetting = new DevExpress.XtraTab.XtraTabPage();
+            this.PagePolling = new DevExpress.XtraTab.XtraTabPage();
+            this.dc_id = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.dc_code = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.dc_name = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.dc_command = new DevExpress.XtraGrid.Columns.GridColumn();
+            this.GridPolling = new DevExpress.XtraGrid.GridControl();
+            this.gridView3 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            this.GridPollingSetting = new DevExpress.XtraGrid.GridControl();
+            this.gridView4 = new DevExpress.XtraGrid.Views.Grid.GridView();
+            ((System.ComponentModel.ISupportInitialize)(this.RibbonNav)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.MainTabControl)).BeginInit();
             this.MainTabControl.SuspendLayout();
             this.PageDeviceList.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.GridDeviceList)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).BeginInit();
+            this.PageCommandSet.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.GridCommandSetting)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView2)).BeginInit();
+            this.PagePollingSetting.SuspendLayout();
+            this.PagePolling.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.GridPolling)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView3)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.GridPollingSetting)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView4)).BeginInit();
             this.SuspendLayout();
             // 
-            // ribbon
+            // RibbonNav
             // 
-            this.ribbon.ApplicationIcon = global::UAS_DeviceMonitor.Properties.Resources.U_Letter_72px_1121581_easyicon_net;
-            this.ribbon.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.False;
-            this.ribbon.ExpandCollapseItem.Id = 0;
-            this.ribbon.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
-            this.ribbon.ExpandCollapseItem,
+            this.RibbonNav.ApplicationIcon = global::UAS_DeviceMonitor.Properties.Resources.U_Letter_72px_1121581_easyicon_net;
+            this.RibbonNav.DrawGroupCaptions = DevExpress.Utils.DefaultBoolean.False;
+            this.RibbonNav.ExpandCollapseItem.Id = 0;
+            this.RibbonNav.Items.AddRange(new DevExpress.XtraBars.BarItem[] {
+            this.RibbonNav.ExpandCollapseItem,
             this.barButtonItem1,
             this.ButtonDeviceList,
             this.ButtonDeviceKind,
@@ -89,15 +113,15 @@
             this.barButtonItem5,
             this.ButtonPollingSetting,
             this.ButtionPolling});
-            this.ribbon.Location = new System.Drawing.Point(0, 0);
-            this.ribbon.MaxItemId = 13;
-            this.ribbon.Name = "ribbon";
-            this.ribbon.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
+            this.RibbonNav.Location = new System.Drawing.Point(0, 0);
+            this.RibbonNav.MaxItemId = 13;
+            this.RibbonNav.Name = "RibbonNav";
+            this.RibbonNav.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] {
             this.DeviceInf,
             this.DeviceCommandSetting,
             this.ribbonPage2});
-            this.ribbon.Size = new System.Drawing.Size(1033, 128);
-            this.ribbon.StatusBar = this.ribbonStatusBar;
+            this.RibbonNav.Size = new System.Drawing.Size(1033, 128);
+            this.RibbonNav.StatusBar = this.ribbonStatusBar;
             // 
             // barButtonItem1
             // 
@@ -210,8 +234,8 @@
             // RibDeviceCommand
             // 
             this.RibDeviceCommand.ItemLinks.Add(this.ButtonCommandSet);
-            this.RibDeviceCommand.ItemLinks.Add(this.ButtonPollingSetting);
             this.RibDeviceCommand.ItemLinks.Add(this.ButtionPolling);
+            this.RibDeviceCommand.ItemLinks.Add(this.ButtonPollingSetting);
             this.RibDeviceCommand.Name = "RibDeviceCommand";
             this.RibDeviceCommand.Text = "ribbonPageGroup3";
             // 
@@ -232,7 +256,7 @@
             // 
             this.ribbonStatusBar.Location = new System.Drawing.Point(0, 680);
             this.ribbonStatusBar.Name = "ribbonStatusBar";
-            this.ribbonStatusBar.Ribbon = this.ribbon;
+            this.ribbonStatusBar.Ribbon = this.RibbonNav;
             this.ribbonStatusBar.Size = new System.Drawing.Size(1033, 31);
             // 
             // ribbonPageGroup1
@@ -266,54 +290,36 @@
             // 
             // PageDeviceList
             // 
+            this.PageDeviceList.Controls.Add(this.pageControl1);
             this.PageDeviceList.Controls.Add(this.GridDeviceList);
             this.PageDeviceList.Name = "PageDeviceList";
+            this.PageDeviceList.PageVisible = false;
             this.PageDeviceList.Size = new System.Drawing.Size(1027, 546);
             this.PageDeviceList.Text = "xtraTabPage1";
-            this.PageDeviceList.VisibleChanged += new System.EventHandler(this.PageDeviceList_VisibleChanged);
+            // 
+            // pageControl1
+            // 
+            this.pageControl1.Dock = System.Windows.Forms.DockStyle.Bottom;
+            this.pageControl1.Gridcontrol = null;
+            this.pageControl1.Location = new System.Drawing.Point(0, 517);
+            this.pageControl1.Name = "pageControl1";
+            this.pageControl1.Size = new System.Drawing.Size(1027, 29);
+            this.pageControl1.TabIndex = 1;
             // 
             // GridDeviceList
             // 
             this.GridDeviceList.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.GridDeviceList.GetDataSQL = null;
             this.GridDeviceList.Location = new System.Drawing.Point(0, 0);
             this.GridDeviceList.MainView = this.gridView1;
-            this.GridDeviceList.MenuManager = this.ribbon;
+            this.GridDeviceList.MenuManager = this.RibbonNav;
             this.GridDeviceList.Name = "GridDeviceList";
+            this.GridDeviceList.RowCount = 0;
             this.GridDeviceList.Size = new System.Drawing.Size(1027, 546);
             this.GridDeviceList.TabIndex = 0;
             this.GridDeviceList.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
             this.gridView1});
             // 
-            // PageCommandSet
-            // 
-            this.PageCommandSet.Name = "PageCommandSet";
-            this.PageCommandSet.Size = new System.Drawing.Size(1027, 546);
-            this.PageCommandSet.Text = "xtraTabPage1";
-            // 
-            // PageDeviceKind
-            // 
-            this.PageDeviceKind.Name = "PageDeviceKind";
-            this.PageDeviceKind.Size = new System.Drawing.Size(1027, 546);
-            this.PageDeviceKind.Text = "xtraTabPage2";
-            // 
-            // PageDeviceStatus
-            // 
-            this.PageDeviceStatus.Name = "PageDeviceStatus";
-            this.PageDeviceStatus.Size = new System.Drawing.Size(1027, 546);
-            this.PageDeviceStatus.Text = "xtraTabPage3";
-            // 
-            // PagePollingSetting
-            // 
-            this.PagePollingSetting.Name = "PagePollingSetting";
-            this.PagePollingSetting.Size = new System.Drawing.Size(1027, 546);
-            this.PagePollingSetting.Text = "xtraTabPage1";
-            // 
-            // PagePolling
-            // 
-            this.PagePolling.Name = "PagePolling";
-            this.PagePolling.Size = new System.Drawing.Size(1027, 546);
-            this.PagePolling.Text = "xtraTabPage1";
-            // 
             // gridView1
             // 
             this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
@@ -324,73 +330,220 @@
             this.de_indate,
             this.de_spec,
             this.de_vendcode,
-            this.de_vendname});
+            this.de_vendname,
+            this.de_address,
+            this.de_wccode});
             this.gridView1.GridControl = this.GridDeviceList;
             this.gridView1.Name = "gridView1";
             // 
             // de_id
             // 
             this.de_id.Caption = "de_id";
-            this.de_id.FieldName = "de_id";
+            this.de_id.FieldName = "DE_ID";
             this.de_id.Name = "de_id";
-            this.de_id.Visible = true;
-            this.de_id.VisibleIndex = 0;
             // 
             // de_code
             // 
             this.de_code.Caption = "设备编号";
-            this.de_code.FieldName = "de_code";
+            this.de_code.FieldName = "DE_CODE";
             this.de_code.Name = "de_code";
             this.de_code.Visible = true;
-            this.de_code.VisibleIndex = 1;
+            this.de_code.VisibleIndex = 0;
             // 
             // de_name
             // 
             this.de_name.Caption = "设备名称";
-            this.de_name.FieldName = "de_name";
+            this.de_name.FieldName = "DE_NAME";
             this.de_name.Name = "de_name";
             this.de_name.Visible = true;
-            this.de_name.VisibleIndex = 2;
+            this.de_name.VisibleIndex = 1;
             // 
             // de_runstatus
             // 
             this.de_runstatus.Caption = "运行状态";
-            this.de_runstatus.FieldName = "de_runstatus";
+            this.de_runstatus.FieldName = "DE_RUNSTATUS";
             this.de_runstatus.Name = "de_runstatus";
             this.de_runstatus.Visible = true;
-            this.de_runstatus.VisibleIndex = 3;
+            this.de_runstatus.VisibleIndex = 2;
             // 
             // de_indate
             // 
             this.de_indate.Caption = "录入日期";
-            this.de_indate.FieldName = "de_indate";
+            this.de_indate.DisplayFormat.FormatString = "yyyy-MM-dd";
+            this.de_indate.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
+            this.de_indate.FieldName = "DE_INDATE";
+            this.de_indate.FilterMode = DevExpress.XtraGrid.ColumnFilterMode.DisplayText;
             this.de_indate.Name = "de_indate";
             this.de_indate.Visible = true;
-            this.de_indate.VisibleIndex = 4;
+            this.de_indate.VisibleIndex = 3;
             // 
             // de_spec
             // 
             this.de_spec.Caption = "设备规格";
-            this.de_spec.FieldName = "de_spec";
+            this.de_spec.FieldName = "DE_SPEC";
             this.de_spec.Name = "de_spec";
             this.de_spec.Visible = true;
-            this.de_spec.VisibleIndex = 5;
+            this.de_spec.VisibleIndex = 4;
             // 
             // de_vendcode
             // 
             this.de_vendcode.Caption = "供应商编号";
-            this.de_vendcode.FieldName = "de_vendcode";
+            this.de_vendcode.FieldName = "DE_VENDCODE";
             this.de_vendcode.Name = "de_vendcode";
             this.de_vendcode.Visible = true;
-            this.de_vendcode.VisibleIndex = 6;
+            this.de_vendcode.VisibleIndex = 5;
             // 
             // de_vendname
             // 
             this.de_vendname.Caption = "供应商名称";
-            this.de_vendname.FieldName = "de_vendname";
+            this.de_vendname.FieldName = "DE_VENDNAME";
             this.de_vendname.Name = "de_vendname";
             this.de_vendname.Visible = true;
-            this.de_vendname.VisibleIndex = 7;
+            this.de_vendname.VisibleIndex = 6;
+            // 
+            // de_address
+            // 
+            this.de_address.Caption = "设备地点";
+            this.de_address.FieldName = "DE_ADDRESS";
+            this.de_address.Name = "de_address";
+            this.de_address.Visible = true;
+            this.de_address.VisibleIndex = 7;
+            // 
+            // de_wccode
+            // 
+            this.de_wccode.Caption = "工作中心";
+            this.de_wccode.FieldName = "DE_WCCODE";
+            this.de_wccode.Name = "de_wccode";
+            this.de_wccode.Visible = true;
+            this.de_wccode.VisibleIndex = 8;
+            // 
+            // PageCommandSet
+            // 
+            this.PageCommandSet.Controls.Add(this.GridCommandSetting);
+            this.PageCommandSet.Name = "PageCommandSet";
+            this.PageCommandSet.PageVisible = false;
+            this.PageCommandSet.Size = new System.Drawing.Size(1027, 546);
+            this.PageCommandSet.Text = "xtraTabPage1";
+            // 
+            // GridCommandSetting
+            // 
+            this.GridCommandSetting.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.GridCommandSetting.Location = new System.Drawing.Point(0, -1);
+            this.GridCommandSetting.MainView = this.gridView2;
+            this.GridCommandSetting.MenuManager = this.RibbonNav;
+            this.GridCommandSetting.Name = "GridCommandSetting";
+            this.GridCommandSetting.Size = new System.Drawing.Size(1027, 511);
+            this.GridCommandSetting.TabIndex = 1;
+            this.GridCommandSetting.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView2});
+            // 
+            // gridView2
+            // 
+            this.gridView2.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
+            this.dc_id,
+            this.dc_code,
+            this.dc_name,
+            this.dc_command});
+            this.gridView2.GridControl = this.GridCommandSetting;
+            this.gridView2.Name = "gridView2";
+            // 
+            // PageDeviceKind
+            // 
+            this.PageDeviceKind.Name = "PageDeviceKind";
+            this.PageDeviceKind.PageVisible = false;
+            this.PageDeviceKind.Size = new System.Drawing.Size(1027, 546);
+            this.PageDeviceKind.Text = "xtraTabPage2";
+            // 
+            // PageDeviceStatus
+            // 
+            this.PageDeviceStatus.Name = "PageDeviceStatus";
+            this.PageDeviceStatus.PageVisible = false;
+            this.PageDeviceStatus.Size = new System.Drawing.Size(1027, 546);
+            this.PageDeviceStatus.Text = "xtraTabPage3";
+            // 
+            // PagePollingSetting
+            // 
+            this.PagePollingSetting.Controls.Add(this.GridPollingSetting);
+            this.PagePollingSetting.Name = "PagePollingSetting";
+            this.PagePollingSetting.PageVisible = false;
+            this.PagePollingSetting.Size = new System.Drawing.Size(1027, 546);
+            this.PagePollingSetting.Text = "xtraTabPage1";
+            // 
+            // PagePolling
+            // 
+            this.PagePolling.Controls.Add(this.GridPolling);
+            this.PagePolling.Name = "PagePolling";
+            this.PagePolling.PageVisible = false;
+            this.PagePolling.Size = new System.Drawing.Size(1027, 546);
+            this.PagePolling.Text = "xtraTabPage1";
+            // 
+            // dc_id
+            // 
+            this.dc_id.FieldName = "DC_ID";
+            this.dc_id.Name = "dc_id";
+            // 
+            // dc_code
+            // 
+            this.dc_code.Caption = "指令编号";
+            this.dc_code.FieldName = "DC_CODE";
+            this.dc_code.Name = "dc_code";
+            this.dc_code.Visible = true;
+            this.dc_code.VisibleIndex = 0;
+            this.dc_code.Width = 118;
+            // 
+            // dc_name
+            // 
+            this.dc_name.Caption = "指令名称";
+            this.dc_name.FieldName = "DC_NAME";
+            this.dc_name.Name = "dc_name";
+            this.dc_name.Visible = true;
+            this.dc_name.VisibleIndex = 1;
+            this.dc_name.Width = 123;
+            // 
+            // dc_command
+            // 
+            this.dc_command.Caption = "发送指令";
+            this.dc_command.FieldName = "DC_COMMAND";
+            this.dc_command.Name = "dc_command";
+            this.dc_command.Visible = true;
+            this.dc_command.VisibleIndex = 2;
+            this.dc_command.Width = 768;
+            // 
+            // GridPolling
+            // 
+            this.GridPolling.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.GridPolling.Location = new System.Drawing.Point(0, 0);
+            this.GridPolling.MainView = this.gridView3;
+            this.GridPolling.MenuManager = this.RibbonNav;
+            this.GridPolling.Name = "GridPolling";
+            this.GridPolling.Size = new System.Drawing.Size(1027, 546);
+            this.GridPolling.TabIndex = 0;
+            this.GridPolling.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView3});
+            // 
+            // gridView3
+            // 
+            this.gridView3.GridControl = this.GridPolling;
+            this.gridView3.Name = "gridView3";
+            // 
+            // GridPollingSetting
+            // 
+            this.GridPollingSetting.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.GridPollingSetting.Location = new System.Drawing.Point(0, 0);
+            this.GridPollingSetting.MainView = this.gridView4;
+            this.GridPollingSetting.MenuManager = this.RibbonNav;
+            this.GridPollingSetting.Name = "GridPollingSetting";
+            this.GridPollingSetting.Size = new System.Drawing.Size(1027, 546);
+            this.GridPollingSetting.TabIndex = 0;
+            this.GridPollingSetting.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
+            this.gridView4});
+            // 
+            // gridView4
+            // 
+            this.gridView4.GridControl = this.GridPollingSetting;
+            this.gridView4.Name = "gridView4";
             // 
             // Main
             // 
@@ -402,18 +555,28 @@
             this.ClientSize = new System.Drawing.Size(1033, 711);
             this.Controls.Add(this.MainTabControl);
             this.Controls.Add(this.ribbonStatusBar);
-            this.Controls.Add(this.ribbon);
+            this.Controls.Add(this.RibbonNav);
             this.Name = "Main";
-            this.Ribbon = this.ribbon;
+            this.Ribbon = this.RibbonNav;
+            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.StatusBar = this.ribbonStatusBar;
             this.Text = "设备监控管理平台";
             this.Load += new System.EventHandler(this.Main_Load);
-            ((System.ComponentModel.ISupportInitialize)(this.ribbon)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.RibbonNav)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.MainTabControl)).EndInit();
             this.MainTabControl.ResumeLayout(false);
             this.PageDeviceList.ResumeLayout(false);
             ((System.ComponentModel.ISupportInitialize)(this.GridDeviceList)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.gridView1)).EndInit();
+            this.PageCommandSet.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.GridCommandSetting)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView2)).EndInit();
+            this.PagePollingSetting.ResumeLayout(false);
+            this.PagePolling.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.GridPolling)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView3)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.GridPollingSetting)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.gridView4)).EndInit();
             this.ResumeLayout(false);
             this.PerformLayout();
 
@@ -421,7 +584,7 @@
 
         #endregion
 
-        private DevExpress.XtraBars.Ribbon.RibbonControl ribbon;
+        private DevExpress.XtraBars.Ribbon.RibbonControl RibbonNav;
         private DevExpress.XtraBars.Ribbon.RibbonStatusBar ribbonStatusBar;
         private DevExpress.XtraBars.BarButtonItem barButtonItem1;
         private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup1;
@@ -443,7 +606,7 @@
         private DevExpress.XtraTab.XtraTabPage PageCommandSet;
         private DevExpress.XtraTab.XtraTabPage PageDeviceKind;
         private DevExpress.XtraTab.XtraTabPage PageDeviceStatus;
-        private DevExpress.XtraGrid.GridControl GridDeviceList;
+        private AutoDataGridControl GridDeviceList;
         private DevExpress.XtraBars.BarButtonItem ButtonPollingSetting;
         private DevExpress.XtraBars.BarButtonItem ButtionPolling;
         private DevExpress.XtraTab.XtraTabPage PagePollingSetting;
@@ -457,5 +620,18 @@
         private DevExpress.XtraGrid.Columns.GridColumn de_spec;
         private DevExpress.XtraGrid.Columns.GridColumn de_vendcode;
         private DevExpress.XtraGrid.Columns.GridColumn de_vendname;
+        private DevExpress.XtraGrid.Columns.GridColumn de_address;
+        private DevExpress.XtraGrid.Columns.GridColumn de_wccode;
+        private CustomerControl.PagingControl.PageControl pageControl1;
+        private DevExpress.XtraGrid.GridControl GridCommandSetting;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView2;
+        private DevExpress.XtraGrid.Columns.GridColumn dc_id;
+        private DevExpress.XtraGrid.Columns.GridColumn dc_code;
+        private DevExpress.XtraGrid.Columns.GridColumn dc_name;
+        private DevExpress.XtraGrid.Columns.GridColumn dc_command;
+        private DevExpress.XtraGrid.GridControl GridPolling;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView3;
+        private DevExpress.XtraGrid.GridControl GridPollingSetting;
+        private DevExpress.XtraGrid.Views.Grid.GridView gridView4;
     }
 }

+ 5 - 15
UAS_DeviceMonitor/Main.cs

@@ -3,28 +3,26 @@ using DevExpress.XtraBars;
 using UAS_DeviceMonitor.DataOperate;
 using System.Data;
 using System.Text;
+using DevExpress.XtraTab;
+using UAS_DeviceMonitor.Entity;
 
 namespace UAS_DeviceMonitor
 {
     public partial class Main : DevExpress.XtraBars.Ribbon.RibbonForm
     {
 
-        DataHelper dh = new DataHelper();
-
         StringBuilder sql = new StringBuilder();
 
         public Main()
         {
+            SystemInf.dh = new DataHelper();
             InitializeComponent();
         }
 
         private void Main_Load(object sender, EventArgs e)
         {
-            //隐藏素有的Xpage
-            for (int i = 0; i < MainTabControl.TabPages.Count; i++)
-            {
-                MainTabControl.TabPages[i].PageVisible = false;
-            }
+            GridDeviceList.GetDataSQL = "select de_id,de_code,de_name,de_spec,de_indate,de_runstatus,de_address,de_wccode,de_vendcode,de_vendname from device".ToUpper();
+            pageControl1.Gridcontrol = GridDeviceList;
         }
 
         /// <summary>
@@ -51,13 +49,5 @@ namespace UAS_DeviceMonitor
                     MainTabControl.TabPages[i].PageVisible = false;
             }
         }
-
-        private void PageDeviceList_VisibleChanged(object sender, EventArgs e)
-        {
-            sql.Clear();
-            sql.Append("select de_id,de_code,de_name,de_spec,de_indate,de_runstatus,de_address,de_wccode, ");
-            sql.Append("de_vendcode,de_vendname from device");
-            GridDeviceList.DataSource = (DataTable)dh.ExecuteSql(sql.ToString(), "select");
-        }
     }
 }

+ 25 - 0
UAS_DeviceMonitor/UAS_DeviceMonitor.csproj

@@ -36,6 +36,7 @@
     <Reference Include="DevExpress.Printing.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
     <Reference Include="DevExpress.Sparkline.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
     <Reference Include="DevExpress.Utils.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
+    <Reference Include="DevExpress.Xpo.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
     <Reference Include="DevExpress.XtraBars.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
     <Reference Include="DevExpress.XtraEditors.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
     <Reference Include="DevExpress.XtraGrid.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
@@ -43,7 +44,12 @@
     <Reference Include="DevExpress.XtraPrinting.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
     <Reference Include="Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL" />
     <Reference Include="System" />
+    <Reference Include="System.Configuration" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Runtime.Serialization" />
+    <Reference Include="System.ServiceModel" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Web.Services" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />
@@ -54,6 +60,18 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="CustomerControl\AutoDataGridControl\AutoDataGridControl.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="CustomerControl\AutoDataGridControl\AutoDataGridControl.Designer.cs">
+      <DependentUpon>AutoDataGridControl.cs</DependentUpon>
+    </Compile>
+    <Compile Include="CustomerControl\PagingControl\PageControl.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="CustomerControl\PagingControl\PageControl.Designer.cs">
+      <DependentUpon>PageControl.cs</DependentUpon>
+    </Compile>
     <Compile Include="DataOperate\DataHelper.cs" />
     <Compile Include="Entity\SystemInf.cs" />
     <Compile Include="Main.cs">
@@ -66,6 +84,12 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="PublicMethod\LogManager.cs" />
     <Compile Include="PublicMethod\ModeBusTCPServer.cs" />
+    <EmbeddedResource Include="CustomerControl\AutoDataGridControl\AutoDataGridControl.resx">
+      <DependentUpon>AutoDataGridControl.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="CustomerControl\PagingControl\PageControl.resx">
+      <DependentUpon>PageControl.cs</DependentUpon>
+    </EmbeddedResource>
     <EmbeddedResource Include="Main.resx">
       <DependentUpon>Main.cs</DependentUpon>
     </EmbeddedResource>
@@ -80,6 +104,7 @@
       <DependentUpon>Resources.resx</DependentUpon>
       <DesignTime>True</DesignTime>
     </Compile>
+    <None Include="app.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>