using DevExpress.XtraEditors;
using System.Collections.Generic;
using System.Windows.Forms;
namespace TProduct.WinFrmUI.TestBench
{
public partial class MgrWorkBenchMonitorPointPanel : DocumentPage
{
public MgrWorkBenchMonitorPointPanel()
{
InitializeComponent();
this.PageTitle.Caption = "测点信息";
this._pageOperateInfo = "测点信息列表";
this.gridView1.SetNormalView();
this.gridView1.SetGridMianViewColor();
this.gridView1.CustomUnboundColumnData += GridView1_CustomUnboundColumnData;
}
public override void InitialDataSource()
{
base.InitialDataSource();
///
/// 初始化
///
///
_bindList = new BLL.WorkBenchMonitorPoint().GetAll();
if (_bindList == null)
_bindList = new List();
this.bindingSource1.DataSource = _bindList;
this.bindingSource1.ResetBindings(false);
}
private void GridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
if (e.Column == this.colSourceType)
{
var pt = e.Row as Model.WorkBenchMonitorPoint;
if (pt != null)
{
if (pt.SourceType == Model.eMonitorPointSourceType.未知)
{
e.Value = "还未设置,请尽快确认";
}
if (pt.SourceType == Model.eMonitorPointSourceType.模拟量)
{
e.Value = "模拟量,需要确认量程";
}
if (pt.SourceType == Model.eMonitorPointSourceType.数字量)
{
e.Value = "数字量,需要确认寄存器地址";
}
if (pt.SourceType == Model.eMonitorPointSourceType.额定参数)
{
e.Value = "额定参数";
}
}
}
}
private List _bindList = null;
//添加
private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if ( _bindList == null)
return;
WaitFrmHelper.ShowWaitForm();
var dlg = new SetSingleBenchMonitorPointInfoDlg();
dlg.Shown += delegate { WaitFrmHelper.HideWaitForm(); };
dlg.SetBindingData( );
dlg.ReloadDataEvent += rhs =>
{
_bindList.Add(rhs);
this.bindingSource1.ResetBindings(false);
};
dlg.ShowDialog();
}
//
private void barBtnCopy_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (_bindList == null)
return;
var source = this.gridView1.GetCurrentViewModel(_bindList);
if (source == null)
{
XtraMessageBox.Show("未选择数据!");
return;
}
var bll = new BLL.WorkBenchMonitorPoint();
var copy_pt = new TProduct.Model.WorkBenchMonitorPoint(source);
copy_pt.ID = 0;
copy_pt.Name = copy_pt.Name + "(复制)";
copy_pt.Code = bll.CreateNO();
copy_pt.ID = bll.Insert(copy_pt);
WaitFrmHelper.ShowWaitForm();
var dlg = new SetSingleBenchMonitorPointInfoDlg();
dlg.Shown += delegate { WaitFrmHelper.HideWaitForm(); };
dlg.SetBindingData(copy_pt);
dlg.ReloadDataEvent += rhs =>
{
_bindList.Add(rhs);
this.gridView1.RefreshData();
};
dlg.ShowDialog();
}
//编辑
private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (_bindList == null)
return;
var row = this.gridView1.GetCurrentViewModel(_bindList);
if (row == null)
{
XtraMessageBox.Show("未选择数据!");
return;
}
WaitFrmHelper.ShowWaitForm();
var dlg = new SetSingleBenchMonitorPointInfoDlg();
dlg.Shown += delegate { WaitFrmHelper.HideWaitForm(); };
dlg.SetBindingData(row);
dlg.ReloadDataEvent += rhs =>
{
row.Reset(rhs);
this.gridView1.RefreshData();
};
dlg.ShowDialog();
}
private void barBtnDel_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var row = this.gridView1.GetCurrentViewModel(_bindList);
if (row == null)
return;
DialogResult dr = XtraMessageBox.Show("是否删除此测点?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dr != DialogResult.Yes)
return;
var result = new BLL.WorkBenchMonitorPoint().DeleteByID(row.ID);
if (result)
{
_bindList.Remove(row);
this.bindingSource1.ResetBindings(false);
XtraMessageBox.Show("删除成功!");
}
else
{
XtraMessageBox.Show("删除失败!");
}
}
private void bbi导出EXCEL_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
var path = ExcelSaveFilePathHelper.SaveFilePathName();
if (string.IsNullOrEmpty(path)) return;
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
options.RawDataMode = true;//所见即所得
options.TextExportMode = DevExpress.XtraPrinting.TextExportMode.Text;
this.colID.DisplayFormat.FormatString = "\t{0}";
this.colID.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
this.gridView1.OptionsPrint.AutoWidth = false;
this.gridView1.ExportToXls(path, options);
DialogResult dr = XtraMessageBox.Show("导出成功!是否打开刚刚保存的Excel文件?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (dr != DialogResult.OK)
return;
System.Diagnostics.Process.Start(path);
}
private void barBtnView_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
}
}
}