using DevExpress.Utils; using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid.Columns; using Lskj.Core; using System; using System.Data; using System.Drawing; using System.Windows.Forms; namespace Lskj.PubTaskPlan { public partial class FrmMain : Form { /// /// 主配置数据源 /// private DataTable sourceTable = new DataTable(); public FrmMain() { InitializeComponent(); this.Load += OnFrmMainLoad; this.addBtn.Click += OnAddBtnClick; this.updateBtn.Click += OnUpdateBtnClick; this.deleteBtn.Click += OnDeleteBtnClick; } /// /// 窗体加载完成后 /// /// /// private void OnFrmMainLoad(object sender, EventArgs e) { try { InitGrid(); InitColumns(); if (DBConfig.Instance.CreateConnection()) { sourceTable = SqlHelper.ExecuteDataTable("select * from Schedules"); mainGridControl.DataSource = sourceTable; } } catch (Exception ex) { MessageBox.Show(ex.Message); this.Close(); this.Dispose(); } } /// /// 添加按钮点击 /// /// /// private void OnAddBtnClick(object sender, EventArgs e) { try { FrmAddTaskPlan frmAdd = new FrmAddTaskPlan(null); DialogResult dialogResult = frmAdd.ShowDialog(); if (dialogResult == DialogResult.OK) { SqlHelper.ExecuteNonQuery(frmAdd.ExecSql); } frmAdd.Dispose(); int focusedRowHandle = mainGridView.FocusedRowHandle; sourceTable = SqlHelper.ExecuteDataTable("select * from Schedules"); mainGridControl.DataSource = sourceTable; mainGridView.FocusedRowHandle = focusedRowHandle; } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 更新按钮点击 /// /// /// private void OnUpdateBtnClick(object sender, EventArgs e) { try { DataRow focusedRow = mainGridView.GetFocusedDataRow(); if (focusedRow != null) { FrmAddTaskPlan frmAdd = new FrmAddTaskPlan(focusedRow); DialogResult dialogResult = frmAdd.ShowDialog(); if (dialogResult == DialogResult.OK) { SqlHelper.ExecuteNonQuery(frmAdd.ExecSql); } frmAdd.Dispose(); int focusedRowHandle = mainGridView.FocusedRowHandle; sourceTable = SqlHelper.ExecuteDataTable("select * from Schedules"); mainGridControl.DataSource = sourceTable; mainGridView.FocusedRowHandle = focusedRowHandle; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 删除按钮点击 /// /// /// private void OnDeleteBtnClick(object sender, EventArgs e) { try { DataRow focusedRow = mainGridView.GetFocusedDataRow(); if (focusedRow != null) { int scheduleID = focusedRow.Table.Columns.Contains("ScheduleID") ? Convert.ToInt32(focusedRow["ScheduleID"] + "") : 0; string deleteSql = $"delete from Schedules where ScheduleID = '{scheduleID}'"; SqlHelper.ExecuteNonQuery(deleteSql); int focusedRowHandle = mainGridView.FocusedRowHandle; sourceTable = SqlHelper.ExecuteDataTable("select * from Schedules"); mainGridControl.DataSource = sourceTable; mainGridView.FocusedRowHandle = focusedRowHandle; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 表格双击事件 /// /// /// private void OnMainGridViewDoubleClick(object sender, EventArgs e) { try { DataRow focusedRow = mainGridView.GetFocusedDataRow(); if (focusedRow != null) { FrmAddTaskPlan frmAdd = new FrmAddTaskPlan(focusedRow); DialogResult dialogResult = frmAdd.ShowDialog(); if (dialogResult == DialogResult.OK) { SqlHelper.ExecuteNonQuery(frmAdd.ExecSql); } frmAdd.Dispose(); int focusedRowHandle = mainGridView.FocusedRowHandle; sourceTable = SqlHelper.ExecuteDataTable("select * from Schedules"); mainGridControl.DataSource = sourceTable; mainGridView.FocusedRowHandle = focusedRowHandle; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } /// /// 行选中改变颜色 /// /// /// private void OnGridViewCustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { try { if (e.RowHandle == mainGridView.FocusedRowHandle) { e.Appearance.BackColor = ColorTranslator.FromHtml("#9feb6a"); } } catch (Exception) { } } /// /// 初始化表 /// private void InitGrid() { mainGridView.CustomDrawCell += OnGridViewCustomDrawCell; mainGridView.DoubleClick += OnMainGridViewDoubleClick; } /// /// 初始化列 /// private void InitColumns() { mainGridView.OptionsBehavior.Editable = true; foreach (GridColumn gridColumn in mainGridView.Columns) { if (gridColumn.ColumnEdit != null) { gridColumn.ColumnEdit.ReadOnly = true; } else { gridColumn.OptionsColumn.AllowEdit = false; } } TipsMemoExEdit.WordWrap = true; TipsMemoExEdit.ShowDropDown = ShowDropDown.DoubleClick; TipsMemoExEdit.ShowIcon = false; TipsMemoExEdit.Appearance.TextOptions.WordWrap = WordWrap.Wrap; TipsMemoExEdit.AllowDropDownWhenReadOnly = DefaultBoolean.True; SqlMemoExEdit.WordWrap = true; SqlMemoExEdit.ShowDropDown = ShowDropDown.DoubleClick; SqlMemoExEdit.ShowIcon = false; SqlMemoExEdit.Appearance.TextOptions.WordWrap = WordWrap.Wrap; SqlMemoExEdit.AllowDropDownWhenReadOnly = DefaultBoolean.True; } } }