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 DevComponents.DotNetBar; namespace Cyberpipe { public partial class FrmSysUserInfoManger : Office2007Form { int maxPageIndex = 20; int rows = 0; public static bool IS_OPEN = false; public FrmSysUserInfoManger() { InitializeComponent(); winGridViewPager1.OnPageChanged += new EventHandler(winGridViewPager1_OnPageChanged); this.winGridViewPager1.OnDeleteSelected += new EventHandler(winGridViewPager1_OnDeleteSelected);//删除 this.winGridViewPager1.OnStartExport += new EventHandler(pager1_OnStartExport); this.winGridViewPager1.OnEndExport += new EventHandler(pager1_OnEndExport); winGridViewPager1.dataGridView1.MultiSelect = false; } private void FrmSysUserInfoManger_Load(object sender, EventArgs e) { IS_OPEN = true; LoadData(); if (Utility.userRole.IndexOf("用户新增") == -1) { btn_add.Visible = false; } if (Utility.userRole.IndexOf("用户删除") == -1) { winGridViewPager1.dataGridView1.ContextMenuStrip.Items[3].Visible = false; } } private void FrmSysUserInfoManger_FormClosing(object sender, FormClosingEventArgs e) { IS_OPEN = false; } /// <summary> /// 初始化分页表格 /// </summary> private void initlizeDatagrid() { //控制表格显示的列,以及每一列要显示的列名 this.winGridViewPager1.Dock = DockStyle.Fill; this.winGridViewPager1.dataGridView1.Dock = DockStyle.Fill; this.winGridViewPager1.AddColumnAlias("账号", "账号"); this.winGridViewPager1.AddColumnAlias("编号", "编号"); this.winGridViewPager1.DisplayColumns = "账号"; winGridViewPager1.BackColor = Color.LightCyan;//间隔颜色 //隐藏右键功能按钮 winGridViewPager1.dataGridView1.ContextMenuStrip.Items[1].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[2].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[4].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[5].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[6].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[7].Visible = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Items[3].Text = "删除"; //右键菜单宽度 winGridViewPager1.dataGridView1.ContextMenuStrip.AutoSize = false; winGridViewPager1.dataGridView1.ContextMenuStrip.Width = 150; //数据铺满表格 this.winGridViewPager1.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //居中 System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; this.winGridViewPager1.dataGridView1.DefaultCellStyle = dataGridViewCellStyle1; this.winGridViewPager1.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; winGridViewPager1.Refresh(); //控制间隔的颜色 winGridViewPager1.BackColor = Color.LightCyan;//间隔颜色 //控制每页显示的最大数据量 winGridViewPager1.PagerInfo.RecordCount = rows; winGridViewPager1.PagerInfo.PageSize = maxPageIndex; winGridViewPager1.dataGridView1.Refresh(); //winGridViewPager1.Controls.RemoveAt(1); } /// <summary> /// 页面刷新 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void winGridViewPager1_OnPageChanged(object sender, EventArgs e) { LoadData(); } void pager1_OnEndExport(object sender, EventArgs e) { } void pager1_OnStartExport(object sender, EventArgs e) { int pageIndex = winGridViewPager1.PagerInfo.CurrenetPageIndex; string where = GetSql(); DataTable table = OracleUtils.ExecuteDataset(OracleUtils.ConnectionString, CommandType.Text, where).Tables[0]; this.winGridViewPager1.AllToExport = table; } /// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void winGridViewPager1_OnDeleteSelected(object sender, EventArgs e) { DataGridView grid = sender as DataGridView; if (grid != null && grid.SelectedRows.Count > 0) { DataGridViewRow row = grid.SelectedRows[0]; string dbid = row.Cells["编号"].Value.ToString(); string userName = row.Cells["账号"].Value.ToString(); if (userName.Equals("ems")) { MessageBox.Show("该用户为管理员用户,无法删除!", "信息"); return; } if (userName.Equals(Utility.userName)) { MessageBox.Show("无法删除自己!", "信息"); return; } if (MessageBox.Show("确定删除?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { try { string sql = "delete from casic_userinfotest where id=" + dbid; OracleUtils.ExecuteNonQuery(OracleUtils.ConnectionString, CommandType.Text, sql); MessageBox.Show("删除成功!", "结果", MessageBoxButtons.OK, MessageBoxIcon.Information); LoadData(); } catch (Exception ex) { MessageBox.Show("人员删除失败:" + ex.ToString(), "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("没有选择记录", "提示"); } } private void LoadData() { int pageIndex = winGridViewPager1.PagerInfo.CurrenetPageIndex; string sqlData = GetSql(pageIndex); initlizeDatagrid(); DataTable table = OracleUtils.ExecuteDataset(OracleUtils.ConnectionString, CommandType.Text, sqlData).Tables[0]; winGridViewPager1.DataSource = table.DefaultView; } private void LoadData(int pageIndex) { string sqlData = GetSql(pageIndex); initlizeDatagrid(); DataTable table = OracleUtils.ExecuteDataset(OracleUtils.ConnectionString, CommandType.Text, sqlData).Tables[0]; winGridViewPager1.DataSource = table.DefaultView; winGridViewPager1.Refresh(); } private string GetSql() { string sqlCount = "select count(*) from casic_userinfotest where sysname='EMS'"; string sqlData = "select username as 账号,id as 编号 " + "from (select t.*,rownum row_num from casic_userinfotest t order by id desc)b " + " where sysname='EMS'"; rows = int.Parse(OracleUtils.ExecuteScalar(OracleUtils.ConnectionString, CommandType.Text, sqlCount).ToString()); return sqlData; } private string GetSql(int pageIndex) { int minPage = (pageIndex - 1) * maxPageIndex + 1; int maxPage = pageIndex * maxPageIndex; string sqlCount = "select count(*) from casic_userinfotest where sysname='EMS'"; string sqlData = "select username as 账号,id as 编号 " + "from (select t.*,rownum row_num from casic_userinfotest t where sysname='EMS'"; if (!String.IsNullOrEmpty(txt_user_code.Text.Trim())) { sqlCount += " and username like '%" + txt_user_code.Text.Trim() + "%'"; sqlData += " and username like '%" + txt_user_code.Text.Trim() + "%'"; } sqlData += " order by id desc)b " + "where(b.row_num between " + minPage + " and " + maxPage + ")"; rows = int.Parse(OracleUtils.ExecuteScalar(OracleUtils.ConnectionString, CommandType.Text, sqlCount).ToString()); return sqlData; } private void btn_add_Click(object sender, EventArgs e) { FrmSysUserInfoEdit frm = new FrmSysUserInfoEdit(); frm.reloadGrid += new ReloadSysUserInfoGrid(LoadData); frm.ShowDialog(); } private void btn_query_Click(object sender, EventArgs e) { LoadData(); } } }