using DevExpress.XtraEditors;
|
using IStation.Untity;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Windows.Forms;
|
|
namespace IStation.WinFrmUI.Monitor
|
{
|
public partial class CurveAnalyzeMgrPage : DocumentPage
|
{
|
public CurveAnalyzeMgrPage()
|
{
|
InitializeComponent();
|
this.PageTitle.Caption = "曲线分析";
|
this.bandedGridView1.SetBandView();
|
this.bandedGridView1.FocusedRowChanged += bandedGridView1_FocusedRowChanged;
|
this.bandedGridView1.RowCellClick += bandedGridView1_RowCellClick;
|
this.bandedGridView1.DoubleClick += this.bandedGridView1_DoubleClick;
|
this.gridView2.SetNormalView();
|
this.gridView2.OptionsView.ShowFooter = true;
|
this.equipmentExTreeListCtrl1.FocusedChangedEvent += EquipmentExTreeListCtrl1_FocusedChangedEvent;
|
this.monitorDataSourcesTreeList1.FocusedChangedEvent += MonitorDataSourcesListCtrl1_FocusedChangedEvent;
|
}
|
|
private class CurrentViewModel : Model.CurveAnalyze
|
{
|
public CurrentViewModel() { }
|
|
public CurrentViewModel(Model.CurveAnalyze rhs)
|
{
|
Reset(rhs);
|
}
|
|
public new void Reset(Model.CurveAnalyze rhs)
|
{
|
base.Reset(rhs);
|
if (this.Hzs != null)
|
this.HzsStr = string.Join(",", rhs.Hzs);
|
}
|
public string HzsStr { get; set; }
|
|
}
|
|
private BLL.CurveAnalyze _bll = new BLL.CurveAnalyze();
|
private BLL.CurveAnalyzePacket _bllPacket = new BLL.CurveAnalyzePacket();
|
private BLL.CurveAnalyzePointPacket _bllPointPacket = new BLL.CurveAnalyzePointPacket();
|
private BLL.CurveAnalyzePoint _bllPoint = new BLL.CurveAnalyzePoint();
|
|
private Model.Equipment _equipment = null;
|
private Model.MonitorDataSources _monitorDataSources = null;
|
|
private List<CurrentViewModel> _allBindingList = null;
|
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public override void InitialDataSource()
|
{
|
this.equipmentExTreeListCtrl1.SetBindingData();
|
this.monitorDataSourcesTreeList1.SetBindingData();
|
}
|
|
//机组变换
|
private void EquipmentExTreeListCtrl1_FocusedChangedEvent(Model.Equipment obj)
|
{
|
this.bandedGridView1.FocusInvalidRow();
|
_equipment = obj;
|
SetBindingData(_monitorDataSources, obj);
|
}
|
|
|
//来源变换
|
private void MonitorDataSourcesListCtrl1_FocusedChangedEvent(Model.MonitorDataSources obj)
|
{
|
this.bandedGridView1.FocusInvalidRow();
|
_monitorDataSources = obj;
|
SetBindingData(obj, _equipment);
|
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(Model.MonitorDataSources monitorDataSources, Model.Equipment equipment)
|
{
|
WaitFrmHelper.ShowWaitForm();
|
var list = new List<CurrentViewModel>();
|
if (monitorDataSources != null && equipment != null)
|
{
|
var curveAnalyzes = _bll.GetByEquipmentID(monitorDataSources.ID, equipment.BelongID, equipment.ID);
|
curveAnalyzes?.ForEach(x => list.Add(new CurrentViewModel(x)));
|
}
|
_allBindingList = list ?? new List<CurrentViewModel>();
|
this.gridControl1.DataSource = _allBindingList;
|
this.gridControl1.RefreshDataSource();
|
this.bandedGridView1.BestFitColumns();
|
|
if (list == null)
|
this.gridControl2.DataSource = null;
|
WaitFrmHelper.HideWaitForm();
|
}
|
|
|
//变换
|
private void bandedGridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
|
{
|
var curveAnalyze = this.bandedGridView1.GetFocusedRow() as Model.CurveAnalyze;
|
LoadCurveAnalyzePackets(_monitorDataSources, _equipment, curveAnalyze);
|
}
|
|
//加载
|
private void LoadCurveAnalyzePackets(Model.MonitorDataSources monitorDataSources, Model.Equipment equipment, Model.CurveAnalyze curveAnalyze)
|
{
|
var list = new List<Model.CurveAnalyzePacket>();
|
if (monitorDataSources != null && equipment != null && curveAnalyze != null)
|
{
|
list = _bllPacket.GetByCurveAnalyzeID(_monitorDataSources.ID, curveAnalyze.ID);
|
}
|
|
this.gridControl2.DataSource = list;
|
this.gridControl2.RefreshDataSource();
|
//this.gridView2.BestFitColumns();
|
}
|
|
|
//添加
|
private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
if (_allBindingList == null)
|
return;
|
var bol = new BLL.MonitorDataSetSummary().GetMaxMinTime(_monitorDataSources.ID, out DateTime minTime, out DateTime maxTime);
|
if (!bol)
|
{
|
XtraMessageBox.Show("无监测数据!");
|
return;
|
}
|
WaitFrmHelper.ShowWaitForm();
|
var dlg = new AddCurveAnalyzeDlg();
|
dlg.Shown += delegate { WaitFrmHelper.HideWaitForm(); };
|
dlg.SetBindingData(minTime, maxTime);
|
dlg.ReloadDataEvent += (rhs) =>
|
{
|
rhs.StationID = _equipment.BelongID;
|
rhs.EquipmentID = _equipment.ID;
|
rhs.ID = _bll.Insert(_monitorDataSources.ID, rhs);
|
if (rhs.ID > 0)
|
{
|
var vm = new CurrentViewModel(rhs);
|
_allBindingList.Add(vm);
|
this.gridControl1.RefreshDataSource();
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//编辑
|
private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var vm = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
{
|
XtraMessageBox.Show("请选择数据行!");
|
return;
|
}
|
|
WaitFrmHelper.ShowWaitForm();
|
var dlg = new EditCurveAnalyzeDlg();
|
dlg.Shown += delegate { WaitFrmHelper.HideWaitForm(); };
|
dlg.SetBindingData(vm);
|
dlg.ReloadDataEvent += (rhs) =>
|
{
|
var bol = _bll.Update(_monitorDataSources.ID, rhs);
|
if (bol)
|
{
|
vm.Reset(rhs);
|
this.bandedGridView1.RefreshRow(this.bandedGridView1.FocusedRowHandle);
|
}
|
return bol;
|
};
|
dlg.ShowDialog();
|
}
|
|
//删除
|
private void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var vm = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
return;
|
if (XtraMessageBox.Show($"确认删除数据行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
var bol = _bll.DeleteByIDAndClear(_monitorDataSources.ID, vm.ID);
|
if (!bol)
|
{
|
XtraMessageBox.Show($"删除失败!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
return;
|
}
|
else
|
{
|
_allBindingList.Remove(vm);
|
this.gridControl1.RefreshDataSource();
|
this.bandedGridView1.FocusInvalidRow();
|
}
|
XtraMessageBox.Show($"删除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
}
|
|
//详情
|
private void barBtnDetail_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
XtraMessageBox.Show("待补充");
|
}
|
|
|
// 刷新数据
|
private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
InitialDataSource();
|
}
|
|
|
|
|
//单元格点击
|
private void bandedGridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
|
{
|
if (_allBindingList == null)
|
return;
|
if (e.Column == this.colAnalyze)
|
{
|
var model = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (model == null)
|
return;
|
if (model.Status != Model.eAnalyzeStatus.Unanalyzed)
|
if (XtraMessageBox.Show($"是否重新分析(重置全部数据)?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
|
WaitFrmHelper.ShowWaitForm();
|
_bllPointPacket.AnalysisContainsPacketAndSave(_monitorDataSources.ID, _equipment.ID, model.ID, out Model.eAnalyzeStatus analyzeStatus, out int count, model.TimeStep);
|
model.Status = analyzeStatus;
|
model.Count = count;
|
XtraMessageBox.Show("分析完成!");
|
var bol = _bll.Update(_monitorDataSources.ID, model);
|
if (!bol)
|
{
|
WaitFrmHelper.HideWaitForm();
|
XtraMessageBox.Show("状态更新失败!");
|
return;
|
}
|
this.gridControl1.RefreshDataSource();
|
LoadCurveAnalyzePackets(_monitorDataSources, _equipment, model);
|
WaitFrmHelper.HideWaitForm();
|
}
|
else if (e.Column == this.colDataView)
|
{
|
var model = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (model.Status != Model.eAnalyzeStatus.Analyzed)
|
{
|
XtraMessageBox.Show("未分析数据!");
|
return;
|
}
|
var station = new BLL.Station().GetByID(_equipment.BelongID);
|
var caption = $"{station.Name}_{_equipment.Name}_{model.Name}-数据视图";
|
|
|
var page = new CurveAnalyzeViewMgrPage();
|
page.Initial(_monitorDataSources.ID, model.ID);
|
page.PageTitle.Caption = caption;
|
page.SurfaceGuid = new SurfaceGuid()
|
{
|
Modular = eModular.Monitor,
|
Function = model.ID.ToString(),
|
TagName = "数据视图",
|
};
|
if (!this.IsExistPage(page.SurfaceGuid, true))
|
{
|
this.CreatePage(page, page.SurfaceGuid);
|
}
|
}
|
else if (e.Column == this.colCurveCalibration)
|
{
|
var model = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (model.Status != Model.eAnalyzeStatus.Analyzed)
|
{
|
XtraMessageBox.Show("未分析数据!");
|
return;
|
}
|
var station = new BLL.Station().GetByID(_equipment.BelongID);
|
var caption = $"{station.Name}_{_equipment.Name}_{model.Name}-曲线校验";
|
|
|
|
var page = new CurveCalibrationPage();
|
page.Initial(_monitorDataSources.ID, model.ID, model);
|
page.PageTitle.Caption = caption;
|
page.SurfaceGuid = new SurfaceGuid()
|
{
|
Modular = eModular.Monitor,
|
Function = model.ID.ToString(),
|
TagName = "曲线校验",
|
};
|
page.UpdatePacketEvent += () =>
|
{
|
var newModel = _bll.GetByID(_monitorDataSources.ID, model.ID);
|
model.Reset(newModel);
|
//this.gridControl2.RefreshDataSource();
|
this.gridView2.RefreshRow(this.gridView2.FocusedRowHandle);
|
};
|
if (!this.IsExistPage(page.SurfaceGuid, true))
|
{
|
this.CreatePage(page, page.SurfaceGuid);
|
}
|
|
}
|
else if (e.Column == this.colSaveCurve)
|
{
|
var model = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (model == null)
|
return;
|
if (model.Status != Model.eAnalyzeStatus.Analyzed)
|
{
|
XtraMessageBox.Show("未分析数据!");
|
return;
|
}
|
var pump = new BLL.Equipment().GetChildPumpByEnginePumpID(_equipment.ID);
|
if (pump == null)
|
{
|
XtraMessageBox.Show("无泵信息!");
|
return;
|
}
|
|
var packets = _bllPacket.GetHaveCurveInfoByCurveAnalyzeID(_monitorDataSources.ID, model.ID);
|
if (packets == null || !packets.Any())
|
{
|
XtraMessageBox.Show("无曲线信息!");
|
return;
|
}
|
var pumpSpeedCurves = new List<Model.PumpSpeedCurve>();
|
foreach (var packet in packets)
|
{
|
var curveInfo = new Model.FeatCurveExpressGroup(packet.CurveInfo);
|
if (curveInfo == null)
|
continue;
|
var speedCurve = new Model.PumpSpeedCurve();
|
speedCurve.HZ = packet.Hz;
|
speedCurve.SourceFrom = Model.eCurveSourceFrom.SCADA数据分析;
|
speedCurve.CreateMethod = Model.eCurveCreateMethod.曲线表达式;
|
speedCurve.CoordParas = Model.CurveCoordinateParas.CalcCoordinate(curveInfo);
|
speedCurve.CurveInfo = curveInfo;
|
speedCurve.ReliabilityStatus = Model.eReliabilityStatus.Normal;
|
speedCurve.CreateTime = DateTime.Now;
|
pumpSpeedCurves.Add(speedCurve);
|
}
|
if (pumpSpeedCurves == null || !pumpSpeedCurves.Any())
|
{
|
XtraMessageBox.Show("无曲线信息!");
|
return;
|
}
|
|
var maxSpeedCurve = pumpSpeedCurves.OrderByDescending(x => x.HZ).First();
|
var curveInfo50 = Model.SimilarCalculateHelper.Calculate(maxSpeedCurve.CurveInfo, maxSpeedCurve.HZ, 50);
|
|
var bllPumpCurve = new BLL.PumpCurve();
|
var bllPumpSpeedCurve = new BLL.PumpSpeedCurve();
|
var pumpCurveID = model.PumpCurveID ?? 0;
|
var pumpCurve = new BLL.PumpCurve().GetExMappingByID(_equipment.ID, pumpCurveID);
|
if (pumpCurve != null)
|
{
|
pumpCurve.CurveInfo = curveInfo50;
|
var bol = bllPumpCurve.Update(pumpCurve);
|
if (!bol)
|
{
|
XtraMessageBox.Show("更新PumpCurve失败!");
|
return;
|
}
|
bllPumpSpeedCurve.DeleteByPumpCurveID(pumpCurve.ID, out string msg);
|
}
|
else
|
{
|
pumpCurve = new Model.PumpCurveExMapping();
|
pumpCurve.CurveCode = $"分析线-{DateTime.Now.ToString("g")}";
|
pumpCurve.SourceFrom = Model.eCurveSourceFrom.SCADA数据分析;
|
pumpCurve.CreateMethod = Model.eCurveCreateMethod.曲线表达式;
|
pumpCurve.CoordParas = Model.CurveCoordinateParas.CalcCoordinate(curveInfo50);
|
pumpCurve.CurveInfo = curveInfo50;
|
pumpCurve.ReliabilityStatus = Model.PumpCurve.eReliabilityStatus.Normal;
|
pumpCurve.CreateTime = DateTime.Now;
|
pumpCurve.OtherName = pumpCurve.CurveCode;
|
pumpCurve.ID = bllPumpCurve.Insert(pumpCurve);
|
if (pumpCurve.ID < 1)
|
{
|
XtraMessageBox.Show("插入PumpCurve失败!");
|
return;
|
}
|
else
|
{
|
var pumpCurveMapping = new Model.PumpCurveMapping();
|
pumpCurveMapping.PumpID = pump.ID;
|
pumpCurveMapping.CurveID = pumpCurve.ID;
|
pumpCurveMapping.OtherName = pumpCurve.CurveCode;
|
pumpCurveMapping.SortCode = 1;
|
pumpCurveMapping.IsWorking = false;
|
pumpCurveMapping.ID = new BLL.PumpCurveMapping().Insert(pumpCurveMapping);
|
if (pumpCurveMapping.ID < 1)
|
{
|
bllPumpCurve.DeleteByID(pumpCurve.ID, out string msg);
|
XtraMessageBox.Show("保存失败!");
|
return;
|
}
|
}
|
}
|
|
pumpSpeedCurves.ForEach(x => x.PumpCurveID = pumpCurve.ID);
|
if (!bllPumpSpeedCurve.Inserts(pumpSpeedCurves))
|
{
|
bllPumpCurve.DeleteByID(pumpCurve.ID, out string msg);
|
XtraMessageBox.Show("插入PumpSpeedCurves失败!");
|
return;
|
}
|
|
model.PumpCurveID = pumpCurve.ID;
|
if (!_bll.Update(_monitorDataSources.ID, model))
|
{
|
bllPumpCurve.DeleteByID(pumpCurve.ID, out string msg);
|
bllPumpSpeedCurve.DeleteByPumpCurveID(pumpCurve.ID, out msg);
|
XtraMessageBox.Show("更新CurveAnalyze失败!");
|
return;
|
}
|
XtraMessageBox.Show("保存成功!");
|
this.gridView2.RefreshRow(this.bandedGridView1.FocusedRowHandle);
|
}
|
else if (e.Column == this.colCreateAnalyzePacket)
|
{
|
var model = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
if (model == null)
|
return;
|
if (model.Status == Model.eAnalyzeStatus.Unanalyzed)
|
{
|
XtraMessageBox.Show("请先分析数据!");
|
return;
|
}
|
|
|
if (_bllPacket.ExistByCurveAnalyzeID(_monitorDataSources.ID, model.ID))
|
if (XtraMessageBox.Show($"是否清空已有分析项并重新生成?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
|
WaitFrmHelper.ShowWaitForm();
|
_bllPointPacket.AnalyzePacketAndSave(_equipment.BelongID, _monitorDataSources.ID, _equipment.ID, model.ID, out int count, model.TimeStep);
|
|
XtraMessageBox.Show("分析完成!");
|
LoadCurveAnalyzePackets(_monitorDataSources, _equipment, model);
|
WaitFrmHelper.HideWaitForm();
|
}
|
}
|
|
//双击表格
|
private void bandedGridView1_DoubleClick(object sender, EventArgs e)
|
{
|
var mouse = e as MouseEventArgs;
|
if (mouse == null)
|
return;
|
var hit = this.bandedGridView1.CalcHitInfo(mouse.Location);
|
if (hit.InRowCell)
|
{
|
var vm = this.bandedGridView1.GetRow(hit.RowHandle) as CurrentViewModel;
|
if (hit.Column == this.colHzs)
|
{
|
if (_bllPacket.ExistByCurveAnalyzeID(_monitorDataSources.ID, vm.ID))
|
{
|
if (XtraMessageBox.Show($"修改频率组会清空已有分析项,是否修改?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
}
|
var dlg = new SetHzsDlg();
|
dlg.SetBindingData(vm.Hzs);
|
dlg.ReloadDataEvent += (rhs) =>
|
{
|
vm.Hzs = rhs;
|
vm.HzsStr = DoubleListHelper.ToString(rhs);
|
var bol = _bll.Update(_monitorDataSources.ID, vm);
|
if (bol)
|
{
|
this.bandedGridView1.RefreshRow(hit.RowHandle);
|
}
|
return bol;
|
};
|
dlg.ShowDialog();
|
}
|
}
|
}
|
|
//单元格点击
|
private void gridView2_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
|
{
|
if (e.Column == this.colAnalyzePacket)
|
{
|
|
var model = this.gridView2.GetFocusedRow() as Model.CurveAnalyzePacket;
|
if (model == null)
|
return;
|
|
var curveAnalyze = this.bandedGridView1.GetFocusedRow() as CurrentViewModel;
|
if (curveAnalyze.Status != Model.eAnalyzeStatus.Analyzed)
|
{
|
XtraMessageBox.Show($"无法操作!数据状态:{curveAnalyze.Status.GetDisplayText()}!");
|
return;
|
}
|
|
var station = new BLL.Station().GetByID(_equipment.BelongID);
|
|
var caption = $"{station.Name}_{_equipment.Name}_{curveAnalyze.Name}_{model.Hz}-曲线分析";
|
var page = new CurveAnalyzePacketMgrPage();
|
page.Initial(_monitorDataSources.ID, model.CurveAnalyzeID, model.ID, model.CurveInfo);
|
page.PageTitle.Caption = caption;
|
page.SurfaceGuid = new SurfaceGuid()
|
{
|
Modular = eModular.Monitor,
|
Function = model.ID.ToString(),
|
};
|
page.UpdatePacketEvent += () =>
|
{
|
var newModel = _bllPacket.GetByID(_monitorDataSources.ID, model.ID);
|
model.Reset(newModel);
|
this.gridView2.RefreshRow(this.gridView2.FocusedRowHandle);
|
this.gridControl2.RefreshDataSource();
|
};
|
if (!this.IsExistPage(page.SurfaceGuid, true))
|
{
|
this.CreatePage(page, page.SurfaceGuid);
|
}
|
}
|
}
|
|
//双击
|
private void gridView2_DoubleClick(object sender, EventArgs e)
|
{
|
var mouse = e as MouseEventArgs;
|
if (mouse == null)
|
return;
|
var hit = this.gridView2.CalcHitInfo(mouse.Location);
|
if (hit.InRowCell)
|
{
|
var vm = this.bandedGridView1.GetCurrentViewModel(_allBindingList);
|
var model = this.gridView2.GetRow(hit.RowHandle) as Model.CurveAnalyzePacket;
|
if (hit.Column == this.colHzUpperValue)
|
{
|
if (_bllPoint.Exists(_monitorDataSources.ID, model.CurveAnalyzeID, model.ID))
|
{
|
if (XtraMessageBox.Show($"修改上限值会清空已有分析项,是否修改?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
}
|
var dlg = new SetDoubleDlg();
|
dlg.SetBindingData(model.HzUpperValue);
|
dlg.ReloadDataEvent += (value) =>
|
{
|
if (model.HzUpperValue == value)
|
return true;
|
model.HzUpperValue = value;
|
var bol = _bllPacket.Update(_monitorDataSources.ID, model);
|
if (bol)
|
{
|
_bllPointPacket.AnalyzePacketAndSave(_monitorDataSources.ID, model.CurveAnalyzeID, model.ID);
|
var newModel = _bllPacket.GetByID(_monitorDataSources.ID, model.ID);
|
model.Reset(newModel);
|
this.gridView2.RefreshRow(hit.RowHandle);
|
}
|
return bol;
|
};
|
dlg.ShowDialog();
|
}
|
if (hit.Column == this.colHzLowerValue)
|
{
|
if (_bllPoint.Exists(_monitorDataSources.ID, model.CurveAnalyzeID, model.ID))
|
{
|
if (XtraMessageBox.Show($"修改下限值会清空已有分析项,是否修改?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK)
|
return;
|
}
|
var dlg = new SetDoubleDlg();
|
dlg.SetBindingData(model.HzLowerValue);
|
dlg.ReloadDataEvent += (value) =>
|
{
|
if (model.HzLowerValue == value)
|
return true;
|
model.HzLowerValue = value;
|
var bol = _bllPacket.Update(_monitorDataSources.ID, model);
|
if (bol)
|
{
|
_bllPointPacket.AnalyzePacketAndSave(_monitorDataSources.ID, model.CurveAnalyzeID, model.ID);
|
var newModel = _bllPacket.GetByID(_monitorDataSources.ID, model.ID);
|
model.Reset(newModel);
|
this.gridView2.RefreshRow(hit.RowHandle);
|
}
|
return bol;
|
};
|
dlg.ShowDialog();
|
}
|
}
|
}
|
|
}
|
}
|