Newer
Older
GHFX_REFACTOR / FrmLog.cs
wxn on 28 Nov 2016 16 KB 管线定位
using System;
using System.Data;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Controls;

namespace Cyberpipe
{
    public partial class FrmLog : Office2007Form
    {
        private PanelEx panelEx1;
        private ButtonX btn_query;
        private Label label1;
        private DateTimePicker dateTimePicker_end;
        private DateTimePicker dateTimePicker_start;
        private LabelX labelX1;
        private Bar bar1;
        string macId;
        private int currentpage = 1;
        private int lastpage = 1;
        private LabelItem lab_page_msg;
        private ButtonItem btn_page_first;
        private ButtonItem btn_page_pre;
        private ComboBoxItem combo_page_num;
        private ButtonItem btn_page_next;
        private ButtonItem btn_page_last;
        private DataGridViewX dataGridViewX1;
        private DataGridViewLabelXColumn dbid;
        private DataGridViewLabelXColumn rowno;
        private DataGridViewLabelXColumn equipment;
        private DataGridViewLabelXColumn operate;
        private DataGridViewLabelXColumn operate_time;
        private DataGridViewLabelXColumn username;
        private int pagesize = 16;

        public FrmLog()
        {             
            InitializeComponent();
        }

        public FrmLog(string macId)
        {
            this.macId = macId;
            InitializeComponent();
        }

        private void FrmLog_Load(object sender, EventArgs e)
        {
            dateTimePicker_end.Value = DateTime.Now;
            dateTimePicker_start.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
            reloadDataGrid(currentpage);
        }

        private void reloadDataGrid(int pageIndex)
        {
            if (dateTimePicker_start.Value.CompareTo(dateTimePicker_end.Value) > 0)
            {
                MessageBox.Show("开始日期不能大于结束日期!");
                return;
            }
            string sqlrows = "select * from (select rownum as rowno,dbid,equipment,operate,operate_time,username from loginfo where equipment='" + macId + "' ";
            string sqlcount = "select count(*) from loginfo where equipment='" + macId + "' ";
            if (null != dateTimePicker_start.Value)
            {
                sqlrows += "and operate_time>=to_date('" + dateTimePicker_start.Value.ToShortDateString() + "','yyyy-MM-dd') ";
                sqlcount += "and operate_time>=to_date('" + dateTimePicker_start.Value.ToShortDateString() + "','yyyy-MM-dd') ";
            }
            if (null != dateTimePicker_end.Value)
            {
                DateTime time = dateTimePicker_end.Value;
                sqlrows += "and operate_time<=to_date('" + time.AddDays(1).ToShortDateString() + "','yyyy-MM-dd') ";
                sqlcount += "and operate_time<=to_date('" + time.AddDays(1).ToShortDateString() + "','yyyy-MM-dd') ";
            }
            sqlrows += "and rownum<=" + (pagesize * pageIndex) + ") table_alias where table_alias.rowno>=" + ((pageIndex - 1) * pagesize + 1);
            sqlrows += " order by operate_time desc";

            int rows = int.Parse(OracleUtils.ExecuteScalar(OracleUtils.ConnectionString, CommandType.Text, sqlcount).ToString());
            int pages = 0;
            if (rows % pagesize == 0)
            {
                pages = rows / pagesize;
            }
            else
            {
                pages = rows / pagesize + 1;
            }

            lastpage = pages;

            lab_page_msg.Text = "共" + rows + "条记录,每页" + pagesize + "条,第" + pageIndex + "页,共" + pages + "页";
            combo_page_num.Items.Clear();
            for (int i = 1; i <= pages; i++)
            {
                combo_page_num.Items.Add(new ComboBoxItem(i.ToString(), i.ToString()));
            }

            if (lastpage == 1)
            {
                btn_page_first.Enabled = false;
                btn_page_pre.Enabled = false;
                btn_page_last.Enabled = false;
                btn_page_next.Enabled = false;
            }
            else if (currentpage == 1)
            {
                btn_page_first.Enabled = false;
                btn_page_pre.Enabled = false;
                btn_page_last.Enabled = true;
                btn_page_next.Enabled = true;
            }
            else if (currentpage == lastpage)
            {
                btn_page_first.Enabled = true;
                btn_page_pre.Enabled = true;
                btn_page_last.Enabled = false;
                btn_page_next.Enabled = false;
            }
            else
            {
                btn_page_first.Enabled = true;
                btn_page_pre.Enabled = true;
                btn_page_last.Enabled = true;
                btn_page_next.Enabled = true;
            }

            DataTable table = OracleUtils.ExecuteDataset(OracleUtils.ConnectionString, CommandType.Text, sqlrows).Tables[0];
            dataGridViewX1.DataSource = table;

        }

        private void InitializeComponent()
        {
            DataGridViewCellStyle dataGridViewCellStyle34 = new DataGridViewCellStyle();
            panelEx1 = new PanelEx();
            btn_query = new ButtonX();
            label1 = new Label();
            dateTimePicker_end = new DateTimePicker();
            dateTimePicker_start = new DateTimePicker();
            labelX1 = new LabelX();
            bar1 = new Bar();
            lab_page_msg = new LabelItem();
            btn_page_first = new ButtonItem();
            btn_page_pre = new ButtonItem();
            combo_page_num = new ComboBoxItem();
            btn_page_next = new ButtonItem();
            btn_page_last = new ButtonItem();
            dataGridViewX1 = new DataGridViewX();
            dbid = new DataGridViewLabelXColumn();
            rowno = new DataGridViewLabelXColumn();
            equipment = new DataGridViewLabelXColumn();
            operate = new DataGridViewLabelXColumn();
            operate_time = new DataGridViewLabelXColumn();
            username = new DataGridViewLabelXColumn();
            panelEx1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(bar1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(dataGridViewX1)).BeginInit();
            SuspendLayout();
            // 
            // panelEx1
            // 
            panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
            panelEx1.ColorSchemeStyle = eDotNetBarStyle.StyleManagerControlled;
            panelEx1.Controls.Add(btn_query);
            panelEx1.Controls.Add(label1);
            panelEx1.Controls.Add(dateTimePicker_end);
            panelEx1.Controls.Add(dateTimePicker_start);
            panelEx1.Controls.Add(labelX1);
            panelEx1.Dock = DockStyle.Top;
            panelEx1.Location = new System.Drawing.Point(0, 0);
            panelEx1.Name = "panelEx1";
            panelEx1.Size = new System.Drawing.Size(634, 34);
            panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
            panelEx1.Style.BackColor1.ColorSchemePart = eColorSchemePart.PanelBackground;
            panelEx1.Style.BackColor2.ColorSchemePart = eColorSchemePart.PanelBackground2;
            panelEx1.Style.Border = eBorderType.SingleLine;
            panelEx1.Style.BorderColor.ColorSchemePart = eColorSchemePart.PanelBorder;
            panelEx1.Style.ForeColor.ColorSchemePart = eColorSchemePart.PanelText;
            panelEx1.Style.GradientAngle = 90;
            panelEx1.TabIndex = 2;
            // 
            // btn_query
            // 
            btn_query.AccessibleRole = AccessibleRole.PushButton;
            btn_query.ColorTable = eButtonColor.OrangeWithBackground;
            btn_query.Location = new System.Drawing.Point(341, 4);
            btn_query.Name = "btn_query";
            btn_query.Size = new System.Drawing.Size(75, 23);
            btn_query.Style = eDotNetBarStyle.StyleManagerControlled;
            btn_query.TabIndex = 3;
            btn_query.Text = "查询";
            btn_query.Click += new EventHandler(btn_query_Click);
            // 
            // label1
            // 
            label1.AutoSize = true;
            label1.Location = new System.Drawing.Point(195, 9);
            label1.Name = "label1";
            label1.Size = new System.Drawing.Size(11, 12);
            label1.TabIndex = 2;
            label1.Text = "-";
            // 
            // dateTimePicker_end
            // 
            dateTimePicker_end.Location = new System.Drawing.Point(212, 5);
            dateTimePicker_end.Name = "dateTimePicker_end";
            dateTimePicker_end.Size = new System.Drawing.Size(123, 21);
            dateTimePicker_end.TabIndex = 1;
            // 
            // dateTimePicker_start
            // 
            dateTimePicker_start.Location = new System.Drawing.Point(66, 5);
            dateTimePicker_start.Name = "dateTimePicker_start";
            dateTimePicker_start.Size = new System.Drawing.Size(123, 21);
            dateTimePicker_start.TabIndex = 1;
            // 
            // labelX1
            // 
            labelX1.AutoSize = true;
            // 
            // 
            // 
            labelX1.BackgroundStyle.CornerType = eCornerType.Square;
            labelX1.Location = new System.Drawing.Point(10, 7);
            labelX1.Name = "labelX1";
            labelX1.Size = new System.Drawing.Size(50, 16);
            labelX1.TabIndex = 0;
            labelX1.Text = "日期范围";
            // 
            // bar1
            // 
            bar1.AntiAlias = true;
            bar1.Dock = DockStyle.Bottom;
            bar1.Items.AddRange(new BaseItem[] {
            lab_page_msg,
            btn_page_first,
            btn_page_pre,
            combo_page_num,
            btn_page_next,
            btn_page_last});
            bar1.Location = new System.Drawing.Point(0, 351);
            bar1.Name = "bar1";
            bar1.Size = new System.Drawing.Size(634, 28);
            bar1.Stretch = true;
            bar1.Style = eDotNetBarStyle.StyleManagerControlled;
            bar1.TabIndex = 3;
            bar1.TabStop = false;
            bar1.Text = "bar1";
            // 
            // lab_page_msg
            // 
            lab_page_msg.Name = "lab_page_msg";
            lab_page_msg.PaddingLeft = 30;
            lab_page_msg.PaddingRight = 30;
            lab_page_msg.Text = "labelItem1";
            // 
            // btn_page_first
            // 
            btn_page_first.Name = "btn_page_first";
            btn_page_first.Text = "|<首页";
            btn_page_first.Click += new EventHandler(btn_page_first_Click);
            // 
            // btn_page_pre
            // 
            btn_page_pre.Name = "btn_page_pre";
            btn_page_pre.Text = "<上一页";
            btn_page_pre.Click += new EventHandler(btn_page_pre_Click);
            // 
            // combo_page_num
            // 
            combo_page_num.DropDownHeight = 106;
            combo_page_num.ItemHeight = 17;
            combo_page_num.Name = "combo_page_num";
            combo_page_num.SelectedIndexChanged += new EventHandler(combo_page_num_SelectedIndexChanged);
            // 
            // btn_page_next
            // 
            btn_page_next.Name = "btn_page_next";
            btn_page_next.Text = "下一页>";
            btn_page_next.Click += new EventHandler(btn_page_next_Click);
            // 
            // btn_page_last
            // 
            btn_page_last.Name = "btn_page_last";
            btn_page_last.Text = "尾页>|";
            btn_page_last.Click += new EventHandler(btn_page_last_Click);
            // 
            // dataGridViewX1
            // 
            dataGridViewX1.AllowUserToAddRows = false;
            dataGridViewX1.AllowUserToDeleteRows = false;
            dataGridViewX1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
            dataGridViewX1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
            dataGridViewX1.Columns.AddRange(new DataGridViewColumn[] {
            dbid,
            rowno,
            equipment,
            operate,
            operate_time,
            username});
            dataGridViewCellStyle34.Alignment = DataGridViewContentAlignment.MiddleLeft;
            dataGridViewCellStyle34.BackColor = System.Drawing.SystemColors.Window;
            dataGridViewCellStyle34.ForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle34.SelectionBackColor = System.Drawing.SystemColors.Highlight;
            dataGridViewCellStyle34.SelectionForeColor = System.Drawing.SystemColors.ControlText;
            dataGridViewCellStyle34.WrapMode = DataGridViewTriState.False;
            dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle34;
            dataGridViewX1.Dock = DockStyle.Fill;
            dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170)))));
            dataGridViewX1.Location = new System.Drawing.Point(0, 34);
            dataGridViewX1.Name = "dataGridViewX1";
            dataGridViewX1.ReadOnly = true;
            dataGridViewX1.RowTemplate.Height = 23;
            dataGridViewX1.Size = new System.Drawing.Size(634, 317);
            dataGridViewX1.TabIndex = 4;
            // 
            // dbid
            // 
            dbid.DataPropertyName = "dbid";
            dbid.HeaderText = "dbid";
            dbid.Name = "dbid";
            dbid.ReadOnly = true;
            dbid.Visible = false;
            // 
            // rowno
            // 
            rowno.DataPropertyName = "rowno";
            rowno.HeaderText = "rowno";
            rowno.Name = "rowno";
            rowno.ReadOnly = true;
            rowno.Visible = false;
            // 
            // equipment
            // 
            equipment.DataPropertyName = "equipment";
            equipment.HeaderText = "设备";
            equipment.Name = "equipment";
            equipment.ReadOnly = true;
            equipment.TextAlignment = System.Drawing.StringAlignment.Center;
            // 
            // operate
            // 
            operate.DataPropertyName = "operate";
            operate.HeaderText = "操作";
            operate.Name = "operate";
            operate.ReadOnly = true;
            operate.TextAlignment = System.Drawing.StringAlignment.Center;
            // 
            // operate_time
            // 
            operate_time.DataPropertyName = "operate_time";
            operate_time.HeaderText = "操作时间";
            operate_time.Name = "operate_time";
            operate_time.ReadOnly = true;
            operate_time.TextAlignment = System.Drawing.StringAlignment.Center;
            // 
            // username
            // 
            username.DataPropertyName = "username";
            username.HeaderText = "操作人";
            username.Name = "username";
            username.ReadOnly = true;
            username.TextAlignment = System.Drawing.StringAlignment.Center;
            // 
            // FrmLog
            // 
            ClientSize = new System.Drawing.Size(634, 379);
            Controls.Add(dataGridViewX1);
            Controls.Add(bar1);
            Controls.Add(panelEx1);
            DoubleBuffered = true;
            Name = "FrmLog";
            StartPosition = FormStartPosition.CenterScreen;
            Text = "设备日志查看";
            Load += new EventHandler(FrmLog_Load);
            panelEx1.ResumeLayout(false);
            panelEx1.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(bar1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(dataGridViewX1)).EndInit();
            ResumeLayout(false);

        }

        private void btn_query_Click(object sender, EventArgs e)
        {
            currentpage = 1;
            reloadDataGrid(currentpage);
        }

        private void btn_page_first_Click(object sender, EventArgs e)
        {
            currentpage = 1;
            reloadDataGrid(currentpage);
        }

        private void btn_page_pre_Click(object sender, EventArgs e)
        {
            currentpage--;
            if (currentpage <= 0)
            {
                currentpage = 1;
            }
            reloadDataGrid(currentpage);
        }

        private void btn_page_next_Click(object sender, EventArgs e)
        {
            currentpage++;
            if (currentpage > lastpage)
            {
                currentpage = lastpage;
            }
            reloadDataGrid(currentpage);
        }

        private void btn_page_last_Click(object sender, EventArgs e)
        {
            currentpage = lastpage;
            reloadDataGrid(currentpage);
        }

        private void combo_page_num_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(combo_page_num.Text.Trim()))
            {
                currentpage = int.Parse(combo_page_num.Text.Trim());
                reloadDataGrid(currentpage);
            } 
        }

    }
}