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); reloadGrid(currentpage); 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 status = 'USING' "; string sqlcount = "select count(*) from equipment where status = 'USING' "; 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; } } }