using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using ProjectBase.Data.Logs; using ProjectBase.Data.BaseDAL; using SIMDP.BLL; using SIMDP.Model; using ProjectBase.Util; namespace SIMDP.View { public partial class FormBlack : DevExpress.XtraEditors.XtraForm { string condition = null; /// /// 授权类型的字典表 /// private Dictionary Dic_Type { get { Dictionary type = new Dictionary(); type.Add("-1", "全部"); type.Add("1", "白名单"); type.Add("0", "黑名单"); return type; } } public FormBlack() { InitializeComponent(); } private void FormBlack_Load(object sender, EventArgs e) { InitControl(); InitGrid(); } /// /// 初始化控件 /// private void InitControl() { //下拉框--类型 this.lookUp_Type.Properties.DataSource = Dic_Type; this.lookUp_Type.Properties.ValueMember = "Key"; this.lookUp_Type.Properties.DisplayMember = "Value"; this.lookUp_Type.Properties.NullText = null; this.lookUp_Type.EditValue = "-1"; //下拉框--所属用户 List userList = BLLFactory.Instance.GetAll(); Dictionary dic = new Dictionary(); dic.Add("-1","全部用户"); foreach (MoAuthoryUser item in userList) { dic.Add(item.LoginAccount,item.UserName); } this.lookUp_UserName.Properties.DataSource = dic; this.lookUp_UserName.Properties.ValueMember = "Key"; this.lookUp_UserName.Properties.DisplayMember = "Value"; this.lookUp_UserName.Properties.NullText = null; this.lookUp_UserName.EditValue = "-1"; } /// /// 初始化表格控件 /// private void InitGrid() { //entity this.winGridViewPager1.OnPageChanged += new EventHandler(winGridViewPager1_OnPageChanged); this.winGridViewPager1.OnStartExport += new EventHandler(winGridViewPager1_OnStartExport); this.winGridViewPager1.OnRefresh += new EventHandler(winGridViewPager1_OnRefresh); this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected); this.winGridViewPager1.OnAddNew += new EventHandler(winGridViewPager1_OnAddNew); this.winGridViewPager1.OnDeleteSelected += new EventHandler(winGridViewPager1_OnDeleteSelected); this.winGridViewPager1.gridView1.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(gridView1_CustomColumnDisplayText); this.winGridViewPager1.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle); this.winGridViewPager1.ShowLineNumber = true; this.winGridViewPager1.BestFitColumnWith = true; this.winGridViewPager1.DisplayColumns = "Name,UserName,Type,Forbid,IPStart,IPEnd,Note,CreatorName,CreateTime,EditorName,EditTime"; #region 添加别名解析 this.winGridViewPager1.AddColumnAlias("ID", ""); this.winGridViewPager1.AddColumnAlias("Name", "显示名称"); this.winGridViewPager1.AddColumnAlias("UserAccount", ""); this.winGridViewPager1.AddColumnAlias("UserName", "所属用户"); this.winGridViewPager1.AddColumnAlias("Type", "授权类型"); this.winGridViewPager1.AddColumnAlias("Forbid", "是否禁用"); this.winGridViewPager1.AddColumnAlias("IPStart", "IP起始地址"); this.winGridViewPager1.AddColumnAlias("IPEnd", "IP结束地址"); this.winGridViewPager1.AddColumnAlias("Note", "备注"); this.winGridViewPager1.AddColumnAlias("CreatorAccount", ""); this.winGridViewPager1.AddColumnAlias("CreatorName", "创建人名称"); this.winGridViewPager1.AddColumnAlias("CreateTime", "创建时间"); this.winGridViewPager1.AddColumnAlias("EditorAccount", ""); this.winGridViewPager1.AddColumnAlias("EditorName", "编辑人名称"); this.winGridViewPager1.AddColumnAlias("EditTime", "编辑时间"); #endregion this.winGridViewPager1.PrintTitle = "系统黑白名单表"; this.winGridViewPager1.gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; BindData(" 1=1"); condition = " 1=1"; } /// /// 绑定数据源 /// /// private void BindData(string condition) { this.winGridViewPager1.DataSource = BLLFactory.Instance.FindWithPager(condition, this.winGridViewPager1.PagerInfo); for (int i = 0; i < this.winGridViewPager1.gridView1.Columns.Count; i++) //设置每列内容居中显示 { this.winGridViewPager1.gridView1.Columns[i].AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; } } /// /// 分页控件翻页的操作 /// private void winGridViewPager1_OnPageChanged(object sender, EventArgs e) { BindData(condition); } /// /// 分页控件全部导出操作前的操作 /// private void winGridViewPager1_OnStartExport(object sender, EventArgs e) { this.winGridViewPager1.AllToExport = BLLFactory.Instance.Find(condition); } /// /// 分页控件刷新操作 /// private void winGridViewPager1_OnRefresh(object sender, EventArgs e) { BindData(condition); } /// /// 分页控件编辑项操作 /// private void winGridViewPager1_OnEditSelected(object sender, EventArgs e) { MoWhite selectRow = this.winGridViewPager1.gridView1.GetFocusedRow() as MoWhite; FormEditBlack editBlack = new FormEditBlack(); editBlack.white = selectRow; editBlack.ShowDialog(); if (editBlack.DialogResult == DialogResult.OK) { BindData(condition); } } /// /// 分页控件新增操作 /// private void winGridViewPager1_OnAddNew(object sender, EventArgs e) { FormEditBlack editBlack = new FormEditBlack(); editBlack.ShowDialog(); if (editBlack.DialogResult == DialogResult.OK) { BindData(condition); } } /// /// 分页控件删除操作 /// private void winGridViewPager1_OnDeleteSelected(object sender, EventArgs e) { try { if (DevExpress.XtraEditors.XtraMessageBox.Show("您确定删除选定的记录么?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { return; } MoWhite selectRow = this.winGridViewPager1.gridView1.GetFocusedRow() as MoWhite; int id = Convert.ToInt32(selectRow.ID); bool flag = BLLFactory.Instance.Delete(id, SysEnvironment.CurrentLoginID); if (flag) { DevExpress.XtraEditors.XtraMessageBox.Show("删除成功。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); BindData(condition); } } catch (Exception ex) { DevExpress.XtraEditors.XtraMessageBox.Show("删除失败。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); LogHelper.log.Error(string.Format("删除数据库black出现错误:{0}", ex)); } } void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column.ColumnType == typeof(DateTime)) { string columnName = e.Column.FieldName; if (e.Value != null) { if (Convert.ToDateTime(e.Value) <= Convert.ToDateTime("1900-1-1")) { e.DisplayText = ""; } else { e.DisplayText = Convert.ToDateTime(e.Value).ToString("yyyy-MM-dd HH:mm");//yyyy-MM-dd } } } if (e.Column.FieldName == "Type") { e.DisplayText = Dic_Type[(e.Value).ToString()]; } } void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) { //AuthorizeType,Forbid if (e.Column.FieldName == "Type") { Color color = Color.White; if (e.CellValue.ToString() == "0") { e.Appearance.BackColor = Color.Black; e.Appearance.BackColor2 = Color.LightCyan; } else { e.Appearance.BackColor = Color.White; } } if (e.Column.FieldName == "Forbid") { Color color = Color.White; if (e.CellValue.ToString().ToBoolean()) { e.Appearance.BackColor = Color.Red; e.Appearance.BackColor2 = Color.LightCyan; } } } private void btn_Query_Click(object sender, EventArgs e) { if ( string.IsNullOrEmpty(txt_Name.Text) && lookUp_UserName.Text == "全部用户" && lookUp_Type.Text == "全部" && check_Forbid.CheckState != CheckState.Checked) { BindData(" 1=1"); condition = " 1=1"; return; } string sql = " 1=1"; if (!string.IsNullOrEmpty(txt_Name.Text)) { sql += string.Format(" AND black_name = '{0}'", txt_Name.Text); } if (lookUp_UserName.Text != "全部用户") { sql += string.Format(" AND black_UserAccount = {0}", lookUp_UserName.EditValue.ToString()); } if (lookUp_Type.Text != "全部") { sql += string.Format(" AND black_type = {0}", lookUp_Type.EditValue.ToString()); } if (check_Forbid.CheckState == CheckState.Checked) { sql += string.Format(" AND black_forbid = {0}", 1); } BindData(sql); condition = sql; } private void simpleButton2_Click(object sender, EventArgs e) { winGridViewPager1_OnAddNew(sender, e); } } }