lixiaojun
2024-09-15 f62dd6b3de7dae88ac638267a040e48a4d941e08
水力模拟界面整理
已修改60个文件
939 ■■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationHydroInfoCtrl.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationInfoPage.Designer.cs 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationInfoPage.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs 266 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/XhsProjectSimulationMgrPage.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/00-core/HydroParterListDlg.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/01-junction/HydroJunctionListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleListCtrl.Designer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowListCtrl.Designer.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirListCtrl.Designer.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirListCtrl.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankListCtrl.Designer.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeListCtrl.Designer.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerListCtrl.Designer.cs 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationListCtrl.Designer.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpListCtrl.Designer.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveListCtrl.Designer.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveListCtrl.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveViewModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationHydroInfoCtrl.cs
@@ -1,4 +1,6 @@
namespace HStation.WinFrmUI
using DevExpress.Drawing.Internal.Interop;
namespace HStation.WinFrmUI
{
    public partial class XhsProjectSimulationHydroInfoCtrl : DevExpress.XtraEditors.XtraUserControl
    {
@@ -7,29 +9,40 @@
            InitializeComponent();
        }
        private HStation.Vmo.XhsProjectVmo _project = null;//项目
        private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//项目站
        private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async void SetBindingData(long projectId)
        public async Task SetBindingData
            (
                HStation.Vmo.XhsProjectVmo project,
                HStation.Vmo.XhsProjectSiteVmo projectSite,
                Yw.Model.HydroModelInfo hydroInfo
            )
        {
            var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId);
            if (projectSite == null)
            if (project == null)
            {
                return;
            }
            var hydroRelation = await new Yw.BLL.HydroModelRelation().GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
            if (hydroRelation == null)
            _project = project;
            _projectSite = projectSite;
            _hydroInfo = hydroInfo;
            if (_projectSite == null)
            {
                return;
                _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
            }
            var info = await new Yw.BLL.HydroModelInfo().GetByID(hydroRelation.ModelID);
            this.hydroParterListCtrl1.SetBindingData(info);
            if (_hydroInfo == null)
            {
                var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
                    .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
            }
            this.hydroParterListCtrl1.SetBindingData(_hydroInfo);
        }
        public void SetBindingData()
        {
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationInfoPage.Designer.cs
@@ -36,26 +36,26 @@
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            xhsProjectSimulationProjectInfoCtrl1 = new XhsProjectSimulationProjectInfoCtrl();
            xhsProjectSimulationBimfaceInfoCtrl1 = new XhsProjectSimulationBimfaceInfoCtrl();
            xhsProjectBasicInfoHydroCtrl1 = new XhsProjectBasicInfoHydroCtrl();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            svgImg32 = new DevExpress.Utils.SvgImageCollection(components);
            xhsProjectSimulationHydroInfoCtrl1 = new XhsProjectSimulationHydroInfoCtrl();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)svgImg32).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            SuspendLayout();
            // 
            // layoutControl1
            // 
            layoutControl1.Controls.Add(xhsProjectSimulationHydroInfoCtrl1);
            layoutControl1.Controls.Add(xhsProjectSimulationProjectInfoCtrl1);
            layoutControl1.Controls.Add(xhsProjectSimulationBimfaceInfoCtrl1);
            layoutControl1.Controls.Add(xhsProjectBasicInfoHydroCtrl1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
@@ -78,18 +78,11 @@
            xhsProjectSimulationBimfaceInfoCtrl1.Size = new Size(462, 279);
            xhsProjectSimulationBimfaceInfoCtrl1.TabIndex = 9;
            // 
            // xhsProjectBasicInfoHydroCtrl1
            //
            xhsProjectBasicInfoHydroCtrl1.Location = new Point(12, 295);
            xhsProjectBasicInfoHydroCtrl1.Name = "xhsProjectBasicInfoHydroCtrl1";
            xhsProjectBasicInfoHydroCtrl1.Size = new Size(927, 280);
            xhsProjectBasicInfoHydroCtrl1.TabIndex = 8;
            //
            // Root
            // 
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem3, layoutControlItem2, layoutControlItem1 });
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem1, layoutControlItem3 });
            Root.LayoutMode = DevExpress.XtraLayout.Utils.LayoutMode.Table;
            Root.Name = "Root";
            columnDefinition1.SizeType = SizeType.Percent;
@@ -104,17 +97,6 @@
            Root.OptionsTableLayoutGroup.RowDefinitions.AddRange(new DevExpress.XtraLayout.RowDefinition[] { rowDefinition1, rowDefinition2 });
            Root.Size = new Size(951, 587);
            Root.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = xhsProjectBasicInfoHydroCtrl1;
            layoutControlItem3.Location = new Point(0, 283);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.OptionsTableLayoutItem.ColumnSpan = 2;
            layoutControlItem3.OptionsTableLayoutItem.RowIndex = 1;
            layoutControlItem3.Size = new Size(931, 284);
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            // 
            // layoutControlItem2
            // 
@@ -140,6 +122,24 @@
            svgImg32.ImageSize = new Size(32, 32);
            svgImg32.Add("functionsinformation", "image://svgimages/spreadsheet/functionsinformation.svg");
            // 
            // xhsProjectSimulationHydroInfoCtrl1
            //
            xhsProjectSimulationHydroInfoCtrl1.Location = new Point(12, 295);
            xhsProjectSimulationHydroInfoCtrl1.Name = "xhsProjectSimulationHydroInfoCtrl1";
            xhsProjectSimulationHydroInfoCtrl1.Size = new Size(927, 280);
            xhsProjectSimulationHydroInfoCtrl1.TabIndex = 11;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = xhsProjectSimulationHydroInfoCtrl1;
            layoutControlItem3.Location = new Point(0, 283);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.OptionsTableLayoutItem.ColumnSpan = 2;
            layoutControlItem3.OptionsTableLayoutItem.RowIndex = 1;
            layoutControlItem3.Size = new Size(931, 284);
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // XhsProjectSimulationInfoPage
            // 
            Appearance.BackColor = SystemColors.Control;
@@ -153,10 +153,10 @@
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)svgImg32).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ResumeLayout(false);
        }
@@ -164,12 +164,12 @@
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private XhsProjectBasicInfoHydroCtrl xhsProjectBasicInfoHydroCtrl1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private XhsProjectSimulationProjectInfoCtrl xhsProjectSimulationProjectInfoCtrl1;
        private XhsProjectSimulationBimfaceInfoCtrl xhsProjectSimulationBimfaceInfoCtrl1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.Utils.SvgImageCollection svgImg32;
        private XhsProjectSimulationHydroInfoCtrl xhsProjectSimulationHydroInfoCtrl1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/01-info/XhsProjectSimulationInfoPage.cs
@@ -13,11 +13,17 @@
        private XhsProjectVmo _project = null;//项目
        private XhsProjectSiteVmo _projectSite = null;//项目站
        private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async Task SetBindingData(XhsProjectVmo project, XhsProjectSiteVmo projectSite)
        public async Task SetBindingData
            (
                XhsProjectVmo project,
                XhsProjectSiteVmo projectSite,
                Yw.Model.HydroModelInfo hydroInfo
            )
        {
            if (project == null)
            {
@@ -25,9 +31,16 @@
            }
            _project = project;
            _projectSite = projectSite;
            _hydroInfo = hydroInfo;
            if (_projectSite == null)
            {
                _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
            }
            if (_hydroInfo == null)
            {
                var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
                    .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
            }
        }
@@ -45,6 +58,7 @@
            this.PageTitle.Caption = $"{_project.Name}\r\n项目概况";
            this.xhsProjectSimulationProjectInfoCtrl1.SetBindingData(_project);
            await this.xhsProjectSimulationBimfaceInfoCtrl1.SetBindingData(_project, _projectSite);
            await this.xhsProjectSimulationHydroInfoCtrl1.SetBindingData(_project, _projectSite, _hydroInfo);
        }
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/02-bimface/XhsProjectSimulationBimfaceCtrl.cs
@@ -14,28 +14,38 @@
        /// </summary>
        public event Action<string> ClickParterEvent;
        private long _projectId;//项目id
        private HStation.Vmo.XhsProjectVmo _project = null;
        private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;
        /// <summary>
        /// 绑定数据
        /// </summary>
        public async void SetBindingData(long projectId)
        public async Task SetBindingData(HStation.Vmo.XhsProjectVmo project, HStation.Vmo.XhsProjectSiteVmo projectSite)
        {
            _projectId = projectId;
            if (project == null)
            {
                return;
            }
            _project = project;
            _projectSite = projectSite;
            if (_projectSite == null)
            {
                _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
            }
            await this.bimfaceInterop3dContainer1.InitialContainer();
        }
        //页面加载完成后触发
        private async void BimfaceInterop3dContainer1_LoadCompletedEvent()
        {
            var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_projectId);
            if (projectSite == null)
            if (_projectSite == null)
            {
                return;
            }
            var relation = await BLLFactory<Yw.BLL.BimfaceFileRelation>.Instance
                .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
                .GetDefaultByObjectTypeAndObjectIDOfPurpose
                    (HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
            if (relation == null)
            {
                return;
@@ -65,16 +75,30 @@
            this.ClickParterEvent?.Invoke(obj.ObjectId);
        }
        public async Task HideComponents(List<string> elementIds)
        {
            await this.bimfaceInterop3dContainer1.HideComponents(elementIds);
        }
        /// <summary>
        /// 显示构件
        /// </summary>
        /// <param name="elementIds">构件id列表</param>
        /// <returns></returns>
        public async Task ShowComponents(List<string> elementIds)
        {
            await this.bimfaceInterop3dContainer1.ShowComponents(elementIds);
        }
        /// <summary>
        /// 隐藏构件
        /// </summary>
        /// <param name="elementIds">构件id列表</param>
        /// <returns></returns>
        public async Task HideComponents(List<string> elementIds)
        {
            await this.bimfaceInterop3dContainer1.HideComponents(elementIds);
        }
        /// <summary>
        /// 显示所有构件
        /// </summary>
        /// <returns></returns>
        public async Task ShowAllComponents()
        {
            await this.bimfaceInterop3dContainer1.ShowAllComponents();
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.Designer.cs
@@ -160,7 +160,6 @@
            barBtnPumpMatching.Id = 14;
            barBtnPumpMatching.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("barBtnPumpMatching.ImageOptions.SvgImage");
            barBtnPumpMatching.Name = "barBtnPumpMatching";
            barBtnPumpMatching.ItemClick += barButtonItem1_ItemClick;
            // 
            // barBtnValveMatching
            // 
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/06-simulation/XhsProjectSimulationCorePage.cs
@@ -17,9 +17,6 @@
        private HStation.Vmo.XhsProjectSiteVmo _projectSite = null;//项目站
        private Yw.Model.HydroModelInfo _hydroInfo = null;//水力信息
        private long _projectId;
        private Yw.Model.HydroModelInfo _hydro = null;
        private Yw.Model.HydroParterInfo _parter = null;
        private List<CalcuParter> _allCalcuParterList = null;
@@ -29,7 +26,8 @@
        public async Task SetBindingData
            (
                HStation.Vmo.XhsProjectVmo project,
                HStation.Vmo.XhsProjectSiteVmo projectSite
                HStation.Vmo.XhsProjectSiteVmo projectSite,
                Yw.Model.HydroModelInfo hydroInfo
            )
        {
            if (project == null)
@@ -38,192 +36,174 @@
            }
            _project = project;
            _projectSite = projectSite;
            _hydroInfo = hydroInfo;
            if (_projectSite == null)
            {
                _projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(_project.ID);
            }
        }
        /// <summary>
        ///
        /// </summary>
        public async Task SetBindingData(long projectId)
        {
            _projectId = projectId;
            var projectSite = await BLLFactory<HStation.BLL.XhsProjectSite>.Instance.GetDefaultByProjectID(projectId);
            if (projectSite == null)
            if (_hydroInfo == null)
            {
                return;
                var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
                    .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
            }
            var hydroRelation = await new Yw.BLL.HydroModelRelation().GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, projectSite.ID, HStation.Xhs.Purpose.Simulation);
            if (hydroRelation == null)
            {
                return;
            }
            _hydro = await new Yw.BLL.HydroModelInfo().GetByID(hydroRelation.ModelID);
            this.xhsProjectSimulationPropertyCtrl1.SetBindingData(_hydro);
        }
        /// <summary>
        /// 初始化数据
        /// </summary>
        public override void InitialDataSource()
        public override async void InitialDataSource()
        {
            base.InitialDataSource();
            if (_project == null)
            {
                return;
            }
            //this.xhsProjectHydroQ3dCtrl1.SetBindingData(_hydro);
            this.PageTitle.Caption = $"{_project.Name}\r\n水力模拟";
            await this.xhsProjectSimulationBimfaceCtrl1.SetBindingData(_project, _projectSite);
        }
        //bimface 构件点击
        private void XhsProjectHydroQ3dCtrl1_ClickParterEvent(string objectId)
        {
            if (_hydro == null)
            {
                _parter = null;
                return;
            }
            var allParterList = _hydro.GetAllParters();
            _parter = allParterList.Find(x => x.Code == objectId);
            this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList);
            if (_parter != null)
            {
                if (_allCalcuParterList != null && _allCalcuParterList.Count > 0)
                {
                    var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
                    if (calcuParter != null)
                    {
                        IHydroCalcuProperty calcuProperty = null;
                        if (calcuParter is CalcuNode calcuNode)
                        {
                            var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
                            calcuNodeProperty.ID = _parter.ID;
                            calcuNodeProperty.CalcuPress = calcuNode.Press;
                            calcuNodeProperty.CalcuDemand = calcuNode.Demand;
                            calcuNodeProperty.CalcuHead = calcuNode.Head;
                            calcuProperty = calcuNodeProperty;
                        }
                        else if (calcuParter is CalcuLink calcuLink)
                        {
                            var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
                            calcuLinkProperty.ID = _parter.ID;
                            calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
                            calcuLinkProperty.CalcuFlow = calcuLink.Flow;
                            calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
                            calcuProperty = calcuLinkProperty;
                        }
            //if (_hydro == null)
            //{
            //    _parter = null;
            //    return;
            //}
            //var allParterList = _hydro.GetAllParters();
            //_parter = allParterList.Find(x => x.Code == objectId);
            //this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList);
            //if (_parter != null)
            //{
            //    if (_allCalcuParterList != null && _allCalcuParterList.Count > 0)
            //    {
            //        var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
            //        if (calcuParter != null)
            //        {
            //            IHydroCalcuProperty calcuProperty = null;
            //            if (calcuParter is CalcuNode calcuNode)
            //            {
            //                var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
            //                calcuNodeProperty.ID = _parter.ID;
            //                calcuNodeProperty.CalcuPress = calcuNode.Press;
            //                calcuNodeProperty.CalcuDemand = calcuNode.Demand;
            //                calcuNodeProperty.CalcuHead = calcuNode.Head;
            //                calcuProperty = calcuNodeProperty;
            //            }
            //            else if (calcuParter is CalcuLink calcuLink)
            //            {
            //                var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
            //                calcuLinkProperty.ID = _parter.ID;
            //                calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
            //                calcuLinkProperty.CalcuFlow = calcuLink.Flow;
            //                calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
            //                calcuProperty = calcuLinkProperty;
            //            }
                        if (calcuProperty != null)
                        {
                            this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
                        }
                    }
                }
            }
            //            if (calcuProperty != null)
            //            {
            //                this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
            //            }
            //        }
            //    }
            //}
        }
        private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_hydro == null)
            {
                return;
            }
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            var result = netWork.Check();
            XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
            //if (_hydro == null)
            //{
            //    return;
            //}
            //var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            //var result = netWork.Check();
            //XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
        }
        private void barBtnCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_hydro == null)
            {
                return;
            }
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            var result = netWork.Calcu();
            if (!result.Succeed)
            {
                XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
                return;
            }
            _allCalcuParterList = result.GetParterList();
            TipFormHelper.ShowSucceed("计算成功");
            if (_parter != null)
            {
                var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
                if (calcuParter != null)
                {
                    IHydroCalcuProperty calcuProperty = null;
                    if (calcuParter is CalcuNode calcuNode)
                    {
                        var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
                        calcuNodeProperty.ID = _parter.ID;
                        calcuNodeProperty.CalcuPress = calcuNode.Press;
                        calcuNodeProperty.CalcuDemand = calcuNode.Demand;
                        calcuNodeProperty.CalcuHead = calcuNode.Head;
                        calcuProperty = calcuNodeProperty;
                    }
                    else if (calcuParter is CalcuLink calcuLink)
                    {
                        var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
                        calcuLinkProperty.ID = _parter.ID;
                        calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
                        calcuLinkProperty.CalcuFlow = calcuLink.Flow;
                        calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
                        calcuProperty = calcuLinkProperty;
                    }
            //if (_hydro == null)
            //{
            //    return;
            //}
            //var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            //var result = netWork.Calcu();
            //if (!result.Succeed)
            //{
            //    XtraMessageBox.Show(JsonHelper.Object2FormatJson(result));
            //    return;
            //}
            //_allCalcuParterList = result.GetParterList();
            //TipFormHelper.ShowSucceed("计算成功");
            //if (_parter != null)
            //{
            //    var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code);
            //    if (calcuParter != null)
            //    {
            //        IHydroCalcuProperty calcuProperty = null;
            //        if (calcuParter is CalcuNode calcuNode)
            //        {
            //            var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty();
            //            calcuNodeProperty.ID = _parter.ID;
            //            calcuNodeProperty.CalcuPress = calcuNode.Press;
            //            calcuNodeProperty.CalcuDemand = calcuNode.Demand;
            //            calcuNodeProperty.CalcuHead = calcuNode.Head;
            //            calcuProperty = calcuNodeProperty;
            //        }
            //        else if (calcuParter is CalcuLink calcuLink)
            //        {
            //            var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty();
            //            calcuLinkProperty.ID = _parter.ID;
            //            calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss;
            //            calcuLinkProperty.CalcuFlow = calcuLink.Flow;
            //            calcuLinkProperty.CalcuVelocity = calcuLink.Velocity;
            //            calcuProperty = calcuLinkProperty;
            //        }
                    if (calcuProperty != null)
                    {
                        this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
                    }
                }
            }
            //        if (calcuProperty != null)
            //        {
            //            this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty);
            //        }
            //    }
            //}
        }
        private void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var dlg = new HydroParterListDlg();
            dlg.SetBindingData(_hydro);
            dlg.Show();
            //var dlg = new HydroParterListDlg();
            //dlg.SetBindingData(_hydro);
            //dlg.Show();
        }
        private void barBtnInp_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            var fileName = Yw.WinFrmUI.FileDialogHelper.SaveInp("导出Inp文件");
            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }
            var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            var result = netWork.ToInpString();
            File.WriteAllText(fileName, result);
            TipFormHelper.ShowSucceed("导出成功");
            //var fileName = Yw.WinFrmUI.FileDialogHelper.SaveInp("导出Inp文件");
            //if (string.IsNullOrEmpty(fileName))
            //{
            //    return;
            //}
            //var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro);
            //var result = netWork.ToInpString();
            //File.WriteAllText(fileName, result);
            //TipFormHelper.ShowSucceed("导出成功");
        }
        private async void barBtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (_hydro == null)
            {
                return;
            }
            var bll = new Yw.BLL.HydroModelInfo();
            var result = await bll.Save(_hydro);
            if (result > 0)
            {
                Yw.WinFrmUI.TipFormHelper.ShowSucceed("保存成功");
            }
            //if (_hydro == null)
            //{
            //    return;
            //}
            //var bll = new Yw.BLL.HydroModelInfo();
            //var result = await bll.Save(_hydro);
            //if (result > 0)
            //{
            //    Yw.WinFrmUI.TipFormHelper.ShowSucceed("保存成功");
            //}
        }
        private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
        }
    }
}
WinFrmUI/HStation.WinFrmUI.Xhs.Core/04-simulation/XhsProjectSimulationMgrPage.cs
@@ -76,10 +76,15 @@
        }
        //项目站选择改变事件
        private void XhsProjectSimulationSchemeMgrCtrl1_ProjectSiteSelectedChangedEvent(XhsProjectSiteVmo obj)
        private async void XhsProjectSimulationSchemeMgrCtrl1_ProjectSiteSelectedChangedEvent(XhsProjectSiteVmo obj)
        {
            _projectSite = obj;
            if (_projectSite != null)
            {
                var hydroRelation = await BLLFactory<Yw.BLL.HydroModelRelation>.Instance
                   .GetDefaultByObjectTypeAndObjectIDOfPurpose(HStation.Xhs.DataType.XhsProjectSite, _projectSite.ID, HStation.Xhs.Purpose.Simulation);
                _hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroRelation.ModelID);
            }
        }
        //显示项目信息事件
@@ -94,11 +99,7 @@
            if (!IsExistPage(guid, true))
            {
                var page = new XhsProjectSimulationInfoPage();
                await page.SetBindingData(_project, _projectSite);
                // page.SetBindingData(_project.ID);
                //page.PageTitle.Caption = e.Element.Text;
                //page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                //page.PageTitle.SvgImageSize = svg_image_size;
                await page.SetBindingData(_project, _projectSite, _hydroInfo);
                CreatePage(page, guid);
            }
@@ -116,11 +117,7 @@
            if (!IsExistPage(guid, true))
            {
                var page = new XhsProjectSimulationCorePage();
                await page.SetBindingData(_project, _projectSite);
                //page.SetBindingData(_project.ID);
                //page.PageTitle.Caption = e.Element.Text;
                //page.PageTitle.HeaderSvgImage = e.Element.ImageOptions.SvgImage;
                //page.PageTitle.SvgImageSize = svg_image_size;
                await page.SetBindingData(_project, _projectSite, _hydroInfo);
                CreatePage(page, guid);
            }
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/00-core/HydroParterListDlg.cs
@@ -8,11 +8,6 @@
            this.hydroParterListCtrl1.HydroClickEvent += HydroParterListCtrl1_HydroClickEvent;
        }
        private void HydroParterListCtrl1_HydroClickEvent(Model.HydroParterInfo obj)
        {
            this.HydroClickEvent?.Invoke(obj);
        }
        /// <summary>
        /// 水力点击事件
        /// </summary>
@@ -25,5 +20,11 @@
        {
            this.hydroParterListCtrl1.SetBindingData(rhs);
        }
        //触发水力点击事件
        private void HydroParterListCtrl1_HydroClickEvent(Model.HydroParterInfo obj)
        {
            this.HydroClickEvent?.Invoke(obj);
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/01-junction/HydroJunctionListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleListCtrl.Designer.cs
@@ -66,6 +66,7 @@
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colCoefficient, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/02-nozzle/HydroNozzleViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -59,6 +60,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroHydrantViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -40,10 +41,9 @@
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colCoefficient = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroHydrantViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroHydrantViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -57,11 +57,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroHydrantViewModelBindingSource
            //
            hydroHydrantViewModelBindingSource.DataSource = typeof(HydroHydrantViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colCoefficient, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -127,10 +132,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 8;
            // 
            // hydroHydrantViewModelBindingSource
            //
            hydroHydrantViewModelBindingSource.DataSource = typeof(HydroHydrantViewModel);
            //
            // HydroHydrantListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -139,8 +140,8 @@
            Name = "HydroHydrantListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroHydrantViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/03-hydrant/HydroHydrantViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -59,6 +60,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowListCtrl.Designer.cs
@@ -65,6 +65,7 @@
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/04-elbow/HydroElbowViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroThreelinkViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroThreelinkViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroThreelinkViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroThreelinkViewModelBindingSource
            //
            hydroThreelinkViewModelBindingSource.DataSource = typeof(HydroThreelinkViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroThreelinkViewModelBindingSource
            //
            hydroThreelinkViewModelBindingSource.DataSource = typeof(HydroThreelinkViewModel);
            //
            // HydroThreelinkListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroThreelinkListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroThreelinkViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/05-threelink/HydroThreelinkViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroFourlinkViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroFourlinkViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroFourlinkViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroFourlinkViewModelBindingSource
            //
            hydroFourlinkViewModelBindingSource.DataSource = typeof(HydroFourlinkViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroFourlinkViewModelBindingSource
            //
            hydroFourlinkViewModelBindingSource.DataSource = typeof(HydroFourlinkViewModel);
            //
            // HydroFourlinkListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroFourlinkListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroFourlinkViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-fourlink/HydroFourlinkViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroMeterViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroMeterViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroMeterViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroMeterViewModelBindingSource
            //
            hydroMeterViewModelBindingSource.DataSource = typeof(HydroMeterViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroMeterViewModelBindingSource
            //
            hydroMeterViewModelBindingSource.DataSource = typeof(HydroMeterViewModel);
            //
            // HydroMeterListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroMeterListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroMeterViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/06-meter/HydroMeterViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroFlowmeterViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroFlowmeterViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroFlowmeterViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroFlowmeterViewModelBindingSource
            //
            hydroFlowmeterViewModelBindingSource.DataSource = typeof(HydroFlowmeterViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroFlowmeterViewModelBindingSource
            //
            hydroFlowmeterViewModelBindingSource.DataSource = typeof(HydroFlowmeterViewModel);
            //
            // HydroFlowmeterListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroFlowmeterListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroFlowmeterViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/07-flowmeter/HydroFlowmeterViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroPressmeterViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroPressmeterViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroPressmeterViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroPressmeterViewModelBindingSource
            //
            hydroPressmeterViewModelBindingSource.DataSource = typeof(HydroPressmeterViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroPressmeterViewModelBindingSource
            //
            hydroPressmeterViewModelBindingSource.DataSource = typeof(HydroPressmeterViewModel);
            //
            // HydroPressmeterListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroPressmeterListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroPressmeterViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/08-pressmeter/HydroPressmeterViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroBluntheadViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,10 +40,9 @@
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemandPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroBluntheadViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroBluntheadViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -56,11 +56,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroBluntheadViewModelBindingSource
            //
            hydroBluntheadViewModelBindingSource.DataSource = typeof(HydroBluntheadViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colElev, colDemand, colDemandPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -119,10 +124,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            // 
            // hydroBluntheadViewModelBindingSource
            //
            hydroBluntheadViewModelBindingSource.DataSource = typeof(HydroBluntheadViewModel);
            //
            // HydroBluntheadListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -131,8 +132,8 @@
            Name = "HydroBluntheadListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroBluntheadViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/09-blunthead/HydroBluntheadViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirListCtrl.Designer.cs
@@ -36,10 +36,10 @@
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colQuality = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            colPoolElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colHead = new DevExpress.XtraGrid.Columns.GridColumn();
            colHeadPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)hydroReservoirViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
@@ -65,6 +65,7 @@
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colPoolElev, colHead, colHeadPattern, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -95,13 +96,6 @@
            colQuality.Visible = true;
            colQuality.VisibleIndex = 3;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            //
            // colPoolElev
            // 
            colPoolElev.FieldName = "PoolElev";
@@ -123,6 +117,13 @@
            colHeadPattern.Visible = true;
            colHeadPattern.VisibleIndex = 6;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 7;
            //
            // HydroReservoirListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
@@ -31,7 +32,7 @@
                }
            }
            this.hydroReservoirViewModelBindingSource.DataSource = _allBindingList;
             this.hydroReservoirViewModelBindingSource.ResetBindings(false);
            this.hydroReservoirViewModelBindingSource.ResetBindings(false);
        }
        //行点击事件
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/10-reservoir/HydroReservoirViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -58,6 +59,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankListCtrl.Designer.cs
@@ -30,23 +30,23 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroTankViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colQuality = new DevExpress.XtraGrid.Columns.GridColumn();
            colPoolElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroTankViewModelBindingSource = new BindingSource(components);
            colInitLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMaxLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colDiameter = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinVol = new DevExpress.XtraGrid.Columns.GridColumn();
            colVolCurve = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroTankViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -60,11 +60,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroTankViewModelBindingSource
            //
            hydroTankViewModelBindingSource.DataSource = typeof(HydroTankViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colPoolElev, colInitLevel, colMinLevel, colMaxLevel, colDiameter, colMinVol, colVolCurve, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -101,17 +106,6 @@
            colPoolElev.Name = "colPoolElev";
            colPoolElev.Visible = true;
            colPoolElev.VisibleIndex = 4;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 11;
            //
            // hydroTankViewModelBindingSource
            //
            hydroTankViewModelBindingSource.DataSource = typeof(HydroTankViewModel);
            // 
            // colInitLevel
            // 
@@ -155,6 +149,13 @@
            colVolCurve.Visible = true;
            colVolCurve.VisibleIndex = 10;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 11;
            //
            // HydroTankListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -163,8 +164,8 @@
            Name = "HydroTankListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroTankViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/11-tank/HydroTankViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -62,6 +63,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroWaterboxViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -43,10 +44,9 @@
            colMinVol = new DevExpress.XtraGrid.Columns.GridColumn();
            colVolCurve = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroWaterboxViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroWaterboxViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -60,11 +60,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroWaterboxViewModelBindingSource
            //
            hydroWaterboxViewModelBindingSource.DataSource = typeof(HydroWaterboxViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colQuality, colPoolElev, colInitLevel, colMinLevel, colMaxLevel, colDiameter, colMinVol, colVolCurve, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -151,10 +156,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 11;
            // 
            // hydroWaterboxViewModelBindingSource
            //
            hydroWaterboxViewModelBindingSource.DataSource = typeof(HydroWaterboxViewModel);
            //
            // HydroWaterboxListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -163,8 +164,8 @@
            Name = "HydroWaterboxListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroWaterboxViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/12-waterbox/HydroWaterboxViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Quality = rhs.Quality;
@@ -62,6 +63,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeListCtrl.Designer.cs
@@ -30,22 +30,22 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroPipeViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroPipeViewModelBindingSource = new BindingSource(components);
            colStartCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colEndCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colLinkStatus = new DevExpress.XtraGrid.Columns.GridColumn();
            colDiameter = new DevExpress.XtraGrid.Columns.GridColumn();
            colLength = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colRoughness = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroPipeViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -59,11 +59,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroPipeViewModelBindingSource
            //
            hydroPipeViewModelBindingSource.DataSource = typeof(HydroPipeViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colStartCode, colEndCode, colLinkStatus, colDiameter, colLength, colRoughness, colMinorLoss, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -86,17 +91,6 @@
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 2;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            //
            // hydroPipeViewModelBindingSource
            //
            hydroPipeViewModelBindingSource.DataSource = typeof(HydroPipeViewModel);
            // 
            // colStartCode
            // 
@@ -133,6 +127,13 @@
            colLength.Visible = true;
            colLength.VisibleIndex = 7;
            // 
            // colRoughness
            //
            colRoughness.FieldName = "Roughness";
            colRoughness.Name = "colRoughness";
            colRoughness.Visible = true;
            colRoughness.VisibleIndex = 8;
            //
            // colMinorLoss
            // 
            colMinorLoss.FieldName = "MinorLoss";
@@ -140,12 +141,12 @@
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 9;
            // 
            // colRoughness
            // colDescription
            // 
            colRoughness.FieldName = "Roughness";
            colRoughness.Name = "colRoughness";
            colRoughness.Visible = true;
            colRoughness.VisibleIndex = 8;
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            // 
            // HydroPipeListCtrl
            // 
@@ -155,8 +156,8 @@
            Name = "HydroPipeListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroPipeViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/13-pipe/HydroPipeViewModel.cs
@@ -21,6 +21,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.StartCode = rhs.StartCode;
@@ -63,6 +64,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerListCtrl.Designer.cs
@@ -35,14 +35,14 @@
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            colStartCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colEndCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colLinkStatus = new DevExpress.XtraGrid.Columns.GridColumn();
            colDiameter = new DevExpress.XtraGrid.Columns.GridColumn();
            colLength = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colRoughness = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)hydroExchangerViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
@@ -68,6 +68,7 @@
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colStartCode, colEndCode, colLinkStatus, colDiameter, colLength, colRoughness, colMinorLoss, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -90,13 +91,6 @@
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 2;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            // 
            // colStartCode
            // 
@@ -133,6 +127,13 @@
            colLength.Visible = true;
            colLength.VisibleIndex = 7;
            // 
            // colRoughness
            //
            colRoughness.FieldName = "Roughness";
            colRoughness.Name = "colRoughness";
            colRoughness.Visible = true;
            colRoughness.VisibleIndex = 8;
            //
            // colMinorLoss
            // 
            colMinorLoss.FieldName = "MinorLoss";
@@ -140,12 +141,12 @@
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 9;
            // 
            // colRoughness
            // colDescription
            // 
            colRoughness.FieldName = "Roughness";
            colRoughness.Name = "colRoughness";
            colRoughness.Visible = true;
            colRoughness.VisibleIndex = 8;
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            // 
            // HydroExchangerListCtrl
            // 
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/14-exchanger/HydroExchangerViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.StartCode = rhs.StartCode;
@@ -61,6 +62,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroTranslationViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -42,10 +43,9 @@
            colRoughness = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroTranslationViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroTranslationViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -59,11 +59,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroTranslationViewModelBindingSource
            //
            hydroTranslationViewModelBindingSource.DataSource = typeof(HydroTranslationViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colStartCode, colEndCode, colLinkStatus, colDiameter, colLength, colRoughness, colMinorLoss, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -143,10 +148,6 @@
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            // 
            // hydroTranslationViewModelBindingSource
            //
            hydroTranslationViewModelBindingSource.DataSource = typeof(HydroTranslationViewModel);
            //
            // HydroTranslationListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -155,8 +156,8 @@
            Name = "HydroTranslationListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroTranslationViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/15-translation/HydroTranslationViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.StartCode = rhs.StartCode;
@@ -61,6 +62,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroPumpViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -37,18 +38,17 @@
            colStartCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colEndCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colLinkStatus = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroPumpViewModelBindingSource = new BindingSource(components);
            colRatedPower = new DevExpress.XtraGrid.Columns.GridColumn();
            colCurveQH = new DevExpress.XtraGrid.Columns.GridColumn();
            colSpeedRatio = new DevExpress.XtraGrid.Columns.GridColumn();
            colSpeedRatioPattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colRatedPower = new DevExpress.XtraGrid.Columns.GridColumn();
            colPrice = new DevExpress.XtraGrid.Columns.GridColumn();
            colPricePattern = new DevExpress.XtraGrid.Columns.GridColumn();
            colCurveQE = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroPumpViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -62,11 +62,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroPumpViewModelBindingSource
            //
            hydroPumpViewModelBindingSource.DataSource = typeof(HydroPumpViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colStartCode, colEndCode, colLinkStatus, colRatedPower, colCurveQH, colSpeedRatio, colSpeedRatioPattern, colPrice, colPricePattern, colCurveQE, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -111,16 +116,12 @@
            colLinkStatus.Visible = true;
            colLinkStatus.VisibleIndex = 5;
            // 
            // colDescription
            // colRatedPower
            // 
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 13;
            //
            // hydroPumpViewModelBindingSource
            //
            hydroPumpViewModelBindingSource.DataSource = typeof(HydroPumpViewModel);
            colRatedPower.FieldName = "RatedPower";
            colRatedPower.Name = "colRatedPower";
            colRatedPower.Visible = true;
            colRatedPower.VisibleIndex = 6;
            // 
            // colCurveQH
            // 
@@ -143,13 +144,6 @@
            colSpeedRatioPattern.Visible = true;
            colSpeedRatioPattern.VisibleIndex = 9;
            // 
            // colRatedPower
            //
            colRatedPower.FieldName = "RatedPower";
            colRatedPower.Name = "colRatedPower";
            colRatedPower.Visible = true;
            colRatedPower.VisibleIndex = 6;
            //
            // colPrice
            // 
            colPrice.FieldName = "Price";
@@ -171,6 +165,13 @@
            colCurveQE.Visible = true;
            colCurveQE.VisibleIndex = 12;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 13;
            //
            // HydroPumpListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -179,8 +180,8 @@
            Name = "HydroPumpListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroPumpViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/16-pump/HydroPumpViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.StartCode = rhs.StartCode;
@@ -63,6 +64,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveListCtrl.Designer.cs
@@ -30,6 +30,7 @@
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            hydroValveViewModelBindingSource = new BindingSource(components);
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
@@ -39,13 +40,12 @@
            colLinkStatus = new DevExpress.XtraGrid.Columns.GridColumn();
            colDiameter = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            hydroValveViewModelBindingSource = new BindingSource(components);
            colValveType = new DevExpress.XtraGrid.Columns.GridColumn();
            colValveSetting = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)hydroValveViewModelBindingSource).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            SuspendLayout();
            // 
            // gridControl1
@@ -59,11 +59,16 @@
            gridControl1.TabIndex = 0;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            // 
            // hydroValveViewModelBindingSource
            //
            hydroValveViewModelBindingSource.DataSource = typeof(HydroValveViewModel);
            //
            // gridView1
            // 
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colCode, colName, colFlagsString, colStartCode, colEndCode, colLinkStatus, colDiameter, colMinorLoss, colValveType, colValveSetting, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.OptionsFind.AlwaysVisible = true;
            gridView1.RowClick += gridView1_RowClick;
            // 
            // colCode
@@ -122,17 +127,6 @@
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 7;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            //
            // hydroValveViewModelBindingSource
            //
            hydroValveViewModelBindingSource.DataSource = typeof(HydroValveViewModel);
            //
            // colValveType
            // 
            colValveType.FieldName = "ValveType";
@@ -147,6 +141,13 @@
            colValveSetting.Visible = true;
            colValveSetting.VisibleIndex = 9;
            // 
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            //
            // HydroValveListCtrl
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
@@ -155,8 +156,8 @@
            Name = "HydroValveListCtrl";
            Size = new Size(818, 590);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)hydroValveViewModelBindingSource).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ResumeLayout(false);
        }
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveListCtrl.cs
@@ -6,6 +6,7 @@
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-parter/17-valve/HydroValveViewModel.cs
@@ -19,6 +19,7 @@
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.StartCode = rhs.StartCode;
@@ -61,6 +62,13 @@
        public string Name { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [DisplayName("标签")]