Files
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

220 lines
7.8 KiB
C#

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
{
/// <summary>
/// 主配置数据源
/// </summary>
private DataTable sourceTable = new DataTable();
public FrmMain()
{
InitializeComponent();
this.Load += OnFrmMainLoad;
this.addBtn.Click += OnAddBtnClick;
this.updateBtn.Click += OnUpdateBtnClick;
this.deleteBtn.Click += OnDeleteBtnClick;
}
/// <summary>
/// 窗体加载完成后
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
/// <summary>
/// 添加按钮点击
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 更新按钮点击
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 删除按钮点击
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 表格双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 行选中改变颜色
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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)
{
}
}
/// <summary>
/// 初始化表
/// </summary>
private void InitGrid()
{
mainGridView.CustomDrawCell += OnGridViewCustomDrawCell;
mainGridView.DoubleClick += OnMainGridViewDoubleClick;
}
/// <summary>
/// 初始化列
/// </summary>
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;
}
}
}