Newer
Older
EMS_SZ / FrmEquipmentManage.cs
root on 21 Mar 2016 9 KB first
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Controls;
using EMS;

namespace Cyberpipe
{
    public partial class FrmEquipmentManage : Office2007Form
    {
        private int pagesize = 10;
        private int currentpage = 1;
        private int lastpage = 1;

        public static bool IS_OPEN = false;

        public FrmEquipmentManage()
        {
            InitializeComponent();

        }

        private void FrmEquipmentManage_Load(object sender, EventArgs e)
        {
            try
            {
                reloadGrid(currentpage);
                initForm();
                IS_OPEN = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("窗体加载失败:" + ex.ToString(), "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                ex.ToString();
            }
        }

        private void initForm()
        {
            if (Utility.userRole.IndexOf("探测仪新增") == -1)
            {
                btnAddDev.Visible = false;
            }
            if (Utility.userRole.IndexOf("探测仪删除") == -1)
            {
                dataGridViewX1.Columns["btnDel"].Visible = false;
            }
            if (Utility.userRole.IndexOf("探测仪编辑") == -1)
            {
                dataGridViewX1.Columns["btnEdit"].Visible = false;
            }
        }

        private void btnAddDev_Click(object sender, EventArgs e)
        {
            try
            {
                FrmEquipmentEdit frm = new FrmEquipmentEdit();
                frm.reloadGrid += new ReloadEquipmentGrid(reloadGrid);
                frm.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show("探测仪添加操作失败:" + ex.ToString(), "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void dataGridViewX1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0 || e.ColumnIndex < 0)
            {
                return;
            }
            String resultMsg = null;
            String buttonText = dataGridViewX1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
            try
            {
                long dbid = long.Parse(dataGridViewX1.Rows[e.RowIndex].Cells["dbid"].Value.ToString());
                if ("编辑".Equals(buttonText))
                {
                    String macId = dataGridViewX1.Rows[e.RowIndex].Cells["MACID"].Value.ToString();
                    String username = dataGridViewX1.Rows[e.RowIndex].Cells["OWNER"].Value.ToString();
                    String descn = dataGridViewX1.Rows[e.RowIndex].Cells["DESCIRPTION"].Value.ToString();
                    FrmEquipmentEdit frm = new FrmEquipmentEdit(dbid.ToString(), macId, username, descn);
                    frm.reloadGrid += new ReloadEquipmentGrid(reloadGrid);
                    frm.ShowDialog();
                }

                if ("删除".Equals(buttonText))
                {
                    if (MessageBox.Show("确定删除?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        String sql = "update equipment set status='DAMAGE' where dbid=" + dbid;
                        OracleUtils.ExecuteNonQuery(OracleUtils.ConnectionString, CommandType.Text, sql);
                        dataGridViewX1.Rows.RemoveAt(e.RowIndex);
                        dataGridViewX1.Refresh();
                        resultMsg = "探测仪删除成功!";
                    }
                }

                if (!String.IsNullOrEmpty(resultMsg))
                {
                    MessageBox.Show(resultMsg, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception ex)
            {
                if ("删除".Equals(buttonText))
                {
                    resultMsg = "探测仪删除操作失败:" + ex.ToString(); ;
                }
                if ("编辑".Equals(buttonText))
                {
                    resultMsg = "探测仪编辑操作失败:" + ex.ToString(); ;
                }
                MessageBox.Show(resultMsg, "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }

        }

        private void btnQueryDev_Click(object sender, EventArgs e)
        {
            try
            {
                reloadGrid(currentpage);
            }
            catch (Exception ex)
            {
                MessageBox.Show("查询错误:" + ex.ToString(), "错误信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public void reloadGrid(int pageIndex)
        {
            if (pageIndex <= 0)
            {
                pageIndex = 1;
                currentpage = 1;
            }
            String sqlrows = "select * from (select rownum as rowno,dbid,descirption,macid,owner,case when status = 'USING' then '可用'  when status = 'DAMAGE' then '损坏' end as status,'编辑' as btnEdit,'删除' as btnDel from equipment t where 1=1 ";
            string sqlcount = "select count(*) from equipment where 1=1 ";
            if (!String.IsNullOrEmpty(txtMacId.Text.Trim()))
            {
                sqlrows += " and macid like '%" + txtMacId.Text.Trim() + "%'";
                sqlcount += " and macid like '%" + txtMacId.Text.Trim() + "%'";
            }
            sqlrows += " and rownum<=" + (pagesize * pageIndex) + ") table_alias where table_alias.rowno>=" + ((pageIndex - 1) * pagesize + 1);

            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 dataGridViewX1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            String macId = dataGridViewX1.Rows[e.RowIndex].Cells["MACID"].Value.ToString();
            FrmLog frm = new FrmLog(macId);
            frm.Show();
        }

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

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

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

        private void btn_page_last_Click(object sender, EventArgs e)
        {
            currentpage = lastpage;
            reloadGrid(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());
                reloadGrid(currentpage);
            }
        }

        private void FrmEquipmentManage_FormClosing(object sender, FormClosingEventArgs e)
        {
            IS_OPEN = false;
        }


    }
}