lixiaojun
2024-10-23 324eac5c3cc1ecf3118c83065b95c7a28440b948
增加主页模式切换
已修改4个文件
已添加36个文件
4835 ■■■■■ 文件已修改
Desktop/HStation.Desktop.Xhs.Core/MainForm.Designer.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/MainForm.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/MainForm.resx 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.Designer.cs 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.Designer.cs 596 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.cs 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.Designer.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetViewModel.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/00-core/HydroEmitterBulkSetViewModel.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.Designer.cs 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.Designer.cs 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.Designer.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetViewModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.Designer.cs 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.Designer.cs 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.Designer.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetViewModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/03-link/00-core/HydroLinkBulkSetViewModel.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/03-link/01-pipe/00-core/HydroPipeBulkSetViewModel.cs 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroFourlinkBulkSetViewModel.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroHydrantBulkSetViewModel.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroNozzleBulkSetViewModel.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Desktop/HStation.Desktop.Xhs.Core/MainForm.Designer.cs
@@ -30,10 +30,12 @@
        {
            components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
            DevExpress.Utils.SuperToolTip superToolTip1 = new DevExpress.Utils.SuperToolTip();
            DevExpress.Utils.ToolTipItem toolTipItem1 = new DevExpress.Utils.ToolTipItem();
            DevExpress.Utils.SuperToolTip superToolTip2 = new DevExpress.Utils.SuperToolTip();
            DevExpress.Utils.ToolTipItem toolTipItem2 = new DevExpress.Utils.ToolTipItem();
            DevExpress.Utils.SuperToolTip superToolTip3 = new DevExpress.Utils.SuperToolTip();
            DevExpress.Utils.ToolTipItem toolTipItem3 = new DevExpress.Utils.ToolTipItem();
            DevExpress.Utils.SuperToolTip superToolTip4 = new DevExpress.Utils.SuperToolTip();
            DevExpress.Utils.ToolTipItem toolTipItem4 = new DevExpress.Utils.ToolTipItem();
            tileNavPane = new DevExpress.XtraBars.Navigation.TileNavPane();
            nbTitle = new DevExpress.XtraBars.Navigation.NavButton();
            navBtnPrevious = new DevExpress.XtraBars.Navigation.NavButton();
@@ -44,6 +46,7 @@
            nbProductManage = new DevExpress.XtraBars.Navigation.NavButton();
            navButton2 = new DevExpress.XtraBars.Navigation.NavButton();
            nbSystemConfig = new DevExpress.XtraBars.Navigation.NavButton();
            nbAuthConfig = new DevExpress.XtraBars.Navigation.NavButton();
            nbMin = new DevExpress.XtraBars.Navigation.NavButton();
            nbNormal = new DevExpress.XtraBars.Navigation.NavButton();
            nbClose = new DevExpress.XtraBars.Navigation.NavButton();
@@ -62,7 +65,7 @@
            flyoutPanel1 = new DevExpress.Utils.FlyoutPanel();
            flyoutPanelControl1 = new DevExpress.Utils.FlyoutPanelControl();
            svgImg32Model = new DevExpress.Utils.SvgImageCollection(components);
            nbAuthConfig = new DevExpress.XtraBars.Navigation.NavButton();
            navBtnPattern = new DevExpress.XtraBars.Navigation.NavButton();
            ((System.ComponentModel.ISupportInitialize)tileNavPane).BeginInit();
            ((System.ComponentModel.ISupportInitialize)documentManager1).BeginInit();
            ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit();
@@ -81,6 +84,7 @@
            tileNavPane.Buttons.Add(navBtnPrevious);
            tileNavPane.Buttons.Add(navBtnCurrent);
            tileNavPane.Buttons.Add(navBtnNext);
            tileNavPane.Buttons.Add(navBtnPattern);
            tileNavPane.Buttons.Add(nbProjectMgr);
            tileNavPane.Buttons.Add(nbModelMgr);
            tileNavPane.Buttons.Add(nbProductManage);
@@ -101,7 +105,7 @@
            tileNavPane.Dock = DockStyle.Top;
            tileNavPane.Location = new Point(0, 0);
            tileNavPane.Name = "tileNavPane";
            tileNavPane.Size = new Size(1189, 53);
            tileNavPane.Size = new Size(1461, 53);
            tileNavPane.TabIndex = 0;
            tileNavPane.Text = "tileNavPane1";
            tileNavPane.ElementClick += tileNavPane_ElementClick;
@@ -121,9 +125,9 @@
            navBtnPrevious.Caption = null;
            navBtnPrevious.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnPrevious.ImageOptions.SvgImage");
            navBtnPrevious.Name = "navBtnPrevious";
            toolTipItem3.Text = "后退";
            superToolTip3.Items.Add(toolTipItem3);
            navBtnPrevious.SuperTip = superToolTip3;
            toolTipItem1.Text = "后退";
            superToolTip1.Items.Add(toolTipItem1);
            navBtnPrevious.SuperTip = superToolTip1;
            navBtnPrevious.Visible = false;
            navBtnPrevious.ElementClick += navBtnPrevious_ElementClick;
            // 
@@ -156,9 +160,9 @@
            navBtnNext.Caption = null;
            navBtnNext.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnNext.ImageOptions.SvgImage");
            navBtnNext.Name = "navBtnNext";
            toolTipItem4.Text = "前进";
            superToolTip4.Items.Add(toolTipItem4);
            navBtnNext.SuperTip = superToolTip4;
            toolTipItem2.Text = "前进";
            superToolTip2.Items.Add(toolTipItem2);
            navBtnNext.SuperTip = superToolTip2;
            navBtnNext.Visible = false;
            navBtnNext.ElementClick += navBtnNext_ElementClick;
            // 
@@ -202,6 +206,14 @@
            nbSystemConfig.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbSystemConfig.ImageOptions.SvgImage");
            nbSystemConfig.Name = "nbSystemConfig";
            nbSystemConfig.ElementClick += nbSystemConfig_ElementClick;
            //
            // nbAuthConfig
            //
            nbAuthConfig.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
            nbAuthConfig.Caption = "权限配置";
            nbAuthConfig.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("nbAuthConfig.ImageOptions.SvgImage");
            nbAuthConfig.Name = "nbAuthConfig";
            nbAuthConfig.ElementClick += nbAuthConfig_ElementClick;
            // 
            // nbMin
            // 
@@ -285,15 +297,15 @@
            barDockControlTop.Dock = DockStyle.Top;
            barDockControlTop.Location = new Point(0, 0);
            barDockControlTop.Manager = barManager1;
            barDockControlTop.Size = new Size(1189, 0);
            barDockControlTop.Size = new Size(1461, 0);
            // 
            // barDockControlBottom
            // 
            barDockControlBottom.CausesValidation = false;
            barDockControlBottom.Dock = DockStyle.Bottom;
            barDockControlBottom.Location = new Point(0, 669);
            barDockControlBottom.Location = new Point(0, 690);
            barDockControlBottom.Manager = barManager1;
            barDockControlBottom.Size = new Size(1189, 30);
            barDockControlBottom.Size = new Size(1461, 30);
            // 
            // barDockControlLeft
            // 
@@ -301,15 +313,15 @@
            barDockControlLeft.Dock = DockStyle.Left;
            barDockControlLeft.Location = new Point(0, 0);
            barDockControlLeft.Manager = barManager1;
            barDockControlLeft.Size = new Size(0, 669);
            barDockControlLeft.Size = new Size(0, 690);
            // 
            // barDockControlRight
            // 
            barDockControlRight.CausesValidation = false;
            barDockControlRight.Dock = DockStyle.Right;
            barDockControlRight.Location = new Point(1189, 0);
            barDockControlRight.Location = new Point(1461, 0);
            barDockControlRight.Manager = barManager1;
            barDockControlRight.Size = new Size(0, 669);
            barDockControlRight.Size = new Size(0, 690);
            // 
            // dockManager1
            // 
@@ -369,19 +381,21 @@
            svgImg32Model.Add("gaugestylelinearhorizontal", "image://svgimages/dashboards/gaugestylelinearhorizontal.svg");
            svgImg32Model.Add("createlinechartnomarkers", "image://svgimages/spreadsheet/createlinechartnomarkers.svg");
            // 
            // nbAuthConfig
            // navBtnPattern
            // 
            nbAuthConfig.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Right;
            nbAuthConfig.Caption = "权限配置";
            nbAuthConfig.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navButton3.ImageOptions.SvgImage");
            nbAuthConfig.Name = "nbAuthConfig";
            nbAuthConfig.ElementClick += nbAuthConfig_ElementClick;
            navBtnPattern.Alignment = DevExpress.XtraBars.Navigation.NavButtonAlignment.Left;
            navBtnPattern.ImageOptions.SvgImage = (DevExpress.Utils.Svg.SvgImage)resources.GetObject("navBtnPattern.ImageOptions.SvgImage");
            navBtnPattern.Name = "navBtnPattern";
            toolTipItem3.Text = "模式切换";
            superToolTip3.Items.Add(toolTipItem3);
            navBtnPattern.SuperTip = superToolTip3;
            navBtnPattern.ElementClick += navBtnPattern_ElementClick;
            // 
            // MainForm
            // 
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1189, 699);
            ClientSize = new Size(1461, 720);
            Controls.Add(flyoutPanel1);
            Controls.Add(tileNavPane);
            Controls.Add(barDockControlLeft);
@@ -441,5 +455,6 @@
        private DevExpress.XtraBars.Navigation.NavButton navBtnPrevious;
        private DevExpress.XtraBars.Navigation.NavButton navBtnNext;
        private DevExpress.XtraBars.Navigation.NavButton nbAuthConfig;
        private DevExpress.XtraBars.Navigation.NavButton navBtnPattern;
    }
}
Desktop/HStation.Desktop.Xhs.Core/MainForm.cs
@@ -686,8 +686,11 @@
        {
            if (this.tabbedView1.Documents.Count > 1)
            {
                this.navBtnPrevious.Visible = true;
                this.navBtnNext.Visible = true;
                if (!this.tabbedView1.DocumentGroupProperties.ShowTabHeader)
                {
                    this.navBtnPrevious.Visible = true;
                    this.navBtnNext.Visible = true;
                }
            }
        }
@@ -696,7 +699,9 @@
        {
            var page = e.Document.Control as DocumentPage;
            if (page == null)
            {
                return;
            }
            this.navBtnCurrent.ImageOptions.SvgImage = page.PageTitle.HeaderSvgImage;
            this.navBtnCurrent.Caption = page.PageTitle.Caption;
        }
@@ -990,14 +995,34 @@
        #endregion Modular
        //上一页
        private void navBtnPrevious_ElementClick(object sender, NavElementEventArgs e)
        {
            this.tabbedView1.Controller.SelectNextTab(false);
        }
        //下一页
        private void navBtnNext_ElementClick(object sender, NavElementEventArgs e)
        {
            this.tabbedView1.Controller.SelectNextTab(true);
        }
        //模式切换
        private void navBtnPattern_ElementClick(object sender, NavElementEventArgs e)
        {
            if (this.tabbedView1.DocumentGroupProperties.ShowTabHeader)
            {
                this.navBtnPrevious.Visible = true;
                this.navBtnCurrent.Visible = true;
                this.navBtnNext.Visible = true;
            }
            else
            {
                this.navBtnPrevious.Visible = false;
                this.navBtnCurrent.Visible = false;
                this.navBtnNext.Visible = false;
            }
            this.tabbedView1.DocumentGroupProperties.ShowTabHeader = !this.tabbedView1.DocumentGroupProperties.ShowTabHeader;
        }
    }
}
Desktop/HStation.Desktop.Xhs.Core/MainForm.resx
@@ -202,6 +202,24 @@
        NnY2TDI4LDE2eiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
  </data>
  <data name="navBtnPattern.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
        dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJYCAAAC77u/
        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
        IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
        MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
        Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
        MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMzU3NUJCO30KCS5C
        bGFja3tmaWxsOiM3MzczNzQ7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuWWVsbG93e2ZpbGw6I0ZD
        QjAxQjt9CgkuUmVke2ZpbGw6I0QwMjAyNzt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5zdDB7b3Bh
        Y2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzEsMkgxMWMtMC41LDAtMSwwLjUtMSwxdjlo
        MlY0aDE4djI0SDEydi04aC0ydjljMCwwLjUsMC41LDEsMSwxaDIwYzAuNSwwLDEtMC41LDEtMVYzQzMy
        LDIuNSwzMS41LDIsMzEsMnogICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjE4
        LDE0IDgsMTQgOCw4IDAsMTYgOCwyNCA4LDE4IDE4LDE4ICIgY2xhc3M9IkJsdWUiIC8+DQo8L3N2Zz4L
</value>
  </data>
  <data name="nbProjectMgr.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
@@ -301,7 +319,7 @@
        LjEsMjguMSwyNy42LDI3LjZ6IiBjbGFzcz0iQmx1ZSIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
  </data>
  <data name="navButton3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
  <data name="nbAuthConfig.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40
        LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,326 @@
namespace Yw.WinFrmUI
{
    partial class HydroFourlinkBulkSetDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            txtCaliber = new DevExpress.XtraEditors.TextEdit();
            txtMaterial = new DevExpress.XtraEditors.TextEdit();
            txtDemand = new DevExpress.XtraEditors.TextEdit();
            txtMinorLoss = new DevExpress.XtraEditors.TextEdit();
            txtElev = new DevExpress.XtraEditors.TextEdit();
            btnOk = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtCaliber.Properties).BeginInit();
            ((ISupportInitialize)txtMaterial.Properties).BeginInit();
            ((ISupportInitialize)txtDemand.Properties).BeginInit();
            ((ISupportInitialize)txtMinorLoss.Properties).BeginInit();
            ((ISupportInitialize)txtElev.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem9).BeginInit();
            ((ISupportInitialize)layoutControlItem10).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)emptySpaceItem2).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(txtCaliber);
            layoutControl1.Controls.Add(txtMaterial);
            layoutControl1.Controls.Add(txtDemand);
            layoutControl1.Controls.Add(txtMinorLoss);
            layoutControl1.Controls.Add(txtElev);
            layoutControl1.Controls.Add(btnOk);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(670, 266, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(484, 122);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtCaliber
            //
            txtCaliber.Location = new Point(307, 12);
            txtCaliber.Name = "txtCaliber";
            txtCaliber.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtCaliber.Properties.DisplayFormat.FormatString = "{0}mm";
            txtCaliber.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtCaliber.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtCaliber.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
            txtCaliber.Properties.NullValuePrompt = "mm";
            txtCaliber.Size = new Size(165, 20);
            txtCaliber.StyleController = layoutControl1;
            txtCaliber.TabIndex = 2;
            //
            // txtMaterial
            //
            txtMaterial.Location = new Point(76, 12);
            txtMaterial.Name = "txtMaterial";
            txtMaterial.Size = new Size(163, 20);
            txtMaterial.StyleController = layoutControl1;
            txtMaterial.TabIndex = 0;
            //
            // txtDemand
            //
            txtDemand.Location = new Point(76, 60);
            txtDemand.Name = "txtDemand";
            txtDemand.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtDemand.Properties.DisplayFormat.FormatString = "{0}m³/h";
            txtDemand.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtDemand.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtDemand.Properties.NullValuePrompt = "m³/h";
            txtDemand.Size = new Size(163, 20);
            txtDemand.StyleController = layoutControl1;
            txtDemand.TabIndex = 7;
            //
            // txtMinorLoss
            //
            txtMinorLoss.Location = new Point(307, 36);
            txtMinorLoss.Name = "txtMinorLoss";
            txtMinorLoss.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtMinorLoss.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtMinorLoss.Size = new Size(165, 20);
            txtMinorLoss.StyleController = layoutControl1;
            txtMinorLoss.TabIndex = 4;
            //
            // txtElev
            //
            txtElev.Location = new Point(76, 36);
            txtElev.Name = "txtElev";
            txtElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtElev.Properties.DisplayFormat.FormatString = "{0}m";
            txtElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtElev.Properties.NullValuePrompt = "m";
            txtElev.Size = new Size(163, 20);
            txtElev.StyleController = layoutControl1;
            txtElev.TabIndex = 3;
            //
            // btnOk
            //
            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnOk.Appearance.Options.UseBackColor = true;
            btnOk.Location = new Point(298, 84);
            btnOk.Name = "btnOk";
            btnOk.Size = new Size(85, 22);
            btnOk.StyleController = layoutControl1;
            btnOk.TabIndex = 8;
            btnOk.Text = "确定";
            btnOk.Click += btnOk_Click;
            //
            // btnCancel
            //
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.DialogResult = DialogResult.Cancel;
            btnCancel.Location = new Point(387, 84);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(85, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 9;
            btnCancel.Text = "取消";
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem1, layoutControlItem5, layoutControlItem9, layoutControlItem10, layoutControlItem4, emptySpaceItem2 });
            Root.Name = "Root";
            Root.Size = new Size(484, 122);
            Root.TextVisible = false;
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = btnCancel;
            layoutControlItem2.Location = new Point(375, 72);
            layoutControlItem2.MaxSize = new Size(89, 26);
            layoutControlItem2.MinSize = new Size(89, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(89, 30);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = btnOk;
            layoutControlItem3.Location = new Point(286, 72);
            layoutControlItem3.MaxSize = new Size(89, 26);
            layoutControlItem3.MinSize = new Size(89, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(89, 30);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 72);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(286, 30);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = txtElev;
            layoutControlItem1.Location = new Point(0, 24);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(231, 24);
            layoutControlItem1.Text = "标高:";
            layoutControlItem1.TextSize = new Size(52, 14);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = txtDemand;
            layoutControlItem5.Location = new Point(0, 48);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(231, 24);
            layoutControlItem5.Text = "需水量:";
            layoutControlItem5.TextSize = new Size(52, 14);
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = txtMaterial;
            layoutControlItem9.Location = new Point(0, 0);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(231, 24);
            layoutControlItem9.Text = "材质:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // layoutControlItem10
            //
            layoutControlItem10.Control = txtCaliber;
            layoutControlItem10.Location = new Point(231, 0);
            layoutControlItem10.Name = "layoutControlItem10";
            layoutControlItem10.Size = new Size(233, 24);
            layoutControlItem10.Text = "口径:";
            layoutControlItem10.TextSize = new Size(52, 14);
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtMinorLoss;
            layoutControlItem4.Location = new Point(231, 24);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(233, 24);
            layoutControlItem4.Text = "局阻系数:";
            layoutControlItem4.TextSize = new Size(52, 14);
            //
            // emptySpaceItem2
            //
            emptySpaceItem2.AllowHotTrack = false;
            emptySpaceItem2.Location = new Point(231, 48);
            emptySpaceItem2.Name = "emptySpaceItem2";
            emptySpaceItem2.Size = new Size(233, 24);
            emptySpaceItem2.TextSize = new Size(0, 0);
            //
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // HydroFourlinkBulkSetDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(484, 122);
            Controls.Add(layoutControl1);
            MaximizeBox = false;
            Name = "HydroFourlinkBulkSetDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "设置";
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtCaliber.Properties).EndInit();
            ((ISupportInitialize)txtMaterial.Properties).EndInit();
            ((ISupportInitialize)txtDemand.Properties).EndInit();
            ((ISupportInitialize)txtMinorLoss.Properties).EndInit();
            ((ISupportInitialize)txtElev.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem9).EndInit();
            ((ISupportInitialize)layoutControlItem10).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)emptySpaceItem2).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.TextEdit txtElev;
        private DevExpress.XtraEditors.SimpleButton btnOk;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraEditors.TextEdit txtDemand;
        private DevExpress.XtraEditors.TextEdit txtMinorLoss;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraEditors.TextEdit txtCaliber;
        private DevExpress.XtraEditors.TextEdit txtMaterial;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,74 @@
namespace Yw.WinFrmUI
{
    public partial class HydroFourlinkBulkSetDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroFourlinkBulkSetDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        public event Action<List<Yw.Model.HydroFourlinkInfo>> ReloadDataEvent;
        private List<Yw.Model.HydroFourlinkInfo> _allFourlinkList = null;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroFourlinkInfo> allFourlinkList)
        {
            _allFourlinkList = allFourlinkList;
            if (_allFourlinkList != null && _allFourlinkList.Count == 1)
            {
                var threelink = _allFourlinkList.First();
                this.txtElev.EditValue = threelink.Elev;
                this.txtMinorLoss.EditValue = threelink.MinorLoss;
                this.txtDemand.EditValue = threelink.Demand;
                this.txtMaterial.EditValue = threelink.Material;
                this.txtCaliber.EditValue = threelink.Caliber;
            }
        }
        //验证
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (this.txtElev.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtElev, "必填项");
                return false;
            }
            return true;
        }
        //
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (_allFourlinkList == null || _allFourlinkList.Count < 1)
            {
                return;
            }
            if (!Valid())
            {
                return;
            }
            var elev = double.Parse(this.txtElev.EditValue.ToString());
            double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString());
            double? demand = this.txtDemand.EditValue == null ? null : double.Parse(this.txtDemand.EditValue.ToString());
            var material = this.txtMaterial.Text.Trim();
            double? caliber = this.txtCaliber.EditValue == null ? null : double.Parse(this.txtCaliber.EditValue.ToString());
            _allFourlinkList.ForEach(x =>
            {
                x.Elev = elev;
                x.MinorLoss = minorLoss;
                x.Demand = demand;
                x.Material = material;
                x.Caliber = caliber;
            });
            this.ReloadDataEvent?.Invoke(_allFourlinkList);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="dxErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,596 @@
namespace Yw.WinFrmUI
{
    partial class HydroFourlinkBulkSetListCtrl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Component Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
            colMaterial = new DevExpress.XtraGrid.Columns.GridColumn();
            colCaliber = new DevExpress.XtraGrid.Columns.GridColumn();
            colElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colHasDb = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            textEdit3 = new DevExpress.XtraEditors.TextEdit();
            textEdit2 = new DevExpress.XtraEditors.TextEdit();
            textEdit1 = new DevExpress.XtraEditors.TextEdit();
            btnReset = new DevExpress.XtraEditors.SimpleButton();
            btnSet = new DevExpress.XtraEditors.SimpleButton();
            btnSearch = new DevExpress.XtraEditors.SimpleButton();
            txtName = new DevExpress.XtraEditors.TextEdit();
            txtModelType = new DevExpress.XtraEditors.TextEdit();
            txtCode = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            groupForHead = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
            layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
            hydroFourlinkBulkSetViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)textEdit3.Properties).BeginInit();
            ((ISupportInitialize)textEdit2.Properties).BeginInit();
            ((ISupportInitialize)textEdit1.Properties).BeginInit();
            ((ISupportInitialize)txtName.Properties).BeginInit();
            ((ISupportInitialize)txtModelType.Properties).BeginInit();
            ((ISupportInitialize)txtCode.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)groupForHead).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem6).BeginInit();
            ((ISupportInitialize)layoutControlItem7).BeginInit();
            ((ISupportInitialize)layoutControlItem8).BeginInit();
            ((ISupportInitialize)layoutControlItem9).BeginInit();
            ((ISupportInitialize)simpleLabelItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem10).BeginInit();
            ((ISupportInitialize)hydroFourlinkBulkSetViewModelBindingSource).BeginInit();
            SuspendLayout();
            //
            // gridControl1
            //
            gridControl1.DataSource = hydroFourlinkBulkSetViewModelBindingSource;
            gridControl1.Location = new Point(2, 50);
            gridControl1.MainView = gridView1;
            gridControl1.Name = "gridControl1";
            gridControl1.Size = new Size(1169, 421);
            gridControl1.TabIndex = 4;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            //
            // gridView1
            //
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colName, colCode, colModelType, colMaterial, colCaliber, colElev, colMinorLoss, colDemand, colHasDb, colFlagsString, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.RowClick += gridView1_RowClick;
            //
            // colDbLocked
            //
            colDbLocked.FieldName = "DbLocked";
            colDbLocked.MaxWidth = 60;
            colDbLocked.MinWidth = 60;
            colDbLocked.Name = "colDbLocked";
            colDbLocked.Visible = true;
            colDbLocked.VisibleIndex = 0;
            colDbLocked.Width = 60;
            //
            // colName
            //
            colName.FieldName = "Name";
            colName.MaxWidth = 150;
            colName.MinWidth = 100;
            colName.Name = "colName";
            colName.Visible = true;
            colName.VisibleIndex = 1;
            colName.Width = 100;
            //
            // colCode
            //
            colCode.FieldName = "Code";
            colCode.MaxWidth = 150;
            colCode.MinWidth = 100;
            colCode.Name = "colCode";
            colCode.Visible = true;
            colCode.VisibleIndex = 2;
            colCode.Width = 100;
            //
            // colModelType
            //
            colModelType.FieldName = "ModelType";
            colModelType.MaxWidth = 150;
            colModelType.MinWidth = 100;
            colModelType.Name = "colModelType";
            colModelType.Visible = true;
            colModelType.VisibleIndex = 3;
            colModelType.Width = 100;
            //
            // colMaterial
            //
            colMaterial.FieldName = "Material";
            colMaterial.MaxWidth = 100;
            colMaterial.MinWidth = 100;
            colMaterial.Name = "colMaterial";
            colMaterial.Visible = true;
            colMaterial.VisibleIndex = 4;
            colMaterial.Width = 100;
            //
            // colCaliber
            //
            colCaliber.FieldName = "Caliber";
            colCaliber.MaxWidth = 100;
            colCaliber.MinWidth = 100;
            colCaliber.Name = "colCaliber";
            colCaliber.Visible = true;
            colCaliber.VisibleIndex = 5;
            colCaliber.Width = 100;
            //
            // colElev
            //
            colElev.FieldName = "Elev";
            colElev.MaxWidth = 100;
            colElev.MinWidth = 100;
            colElev.Name = "colElev";
            colElev.Visible = true;
            colElev.VisibleIndex = 6;
            colElev.Width = 100;
            //
            // colMinorLoss
            //
            colMinorLoss.FieldName = "MinorLoss";
            colMinorLoss.MaxWidth = 100;
            colMinorLoss.MinWidth = 100;
            colMinorLoss.Name = "colMinorLoss";
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 7;
            colMinorLoss.Width = 100;
            //
            // colDemand
            //
            colDemand.FieldName = "Demand";
            colDemand.MaxWidth = 100;
            colDemand.MinWidth = 100;
            colDemand.Name = "colDemand";
            colDemand.Visible = true;
            colDemand.VisibleIndex = 9;
            colDemand.Width = 100;
            //
            // colHasDb
            //
            colHasDb.FieldName = "HasDb";
            colHasDb.MaxWidth = 60;
            colHasDb.MinWidth = 60;
            colHasDb.Name = "colHasDb";
            colHasDb.Visible = true;
            colHasDb.VisibleIndex = 8;
            colHasDb.Width = 60;
            //
            // colFlagsString
            //
            colFlagsString.FieldName = "FlagsString";
            colFlagsString.MaxWidth = 200;
            colFlagsString.MinWidth = 100;
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 10;
            colFlagsString.Width = 100;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.MinWidth = 100;
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 11;
            colDescription.Width = 100;
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(textEdit3);
            layoutControl1.Controls.Add(textEdit2);
            layoutControl1.Controls.Add(textEdit1);
            layoutControl1.Controls.Add(btnReset);
            layoutControl1.Controls.Add(btnSet);
            layoutControl1.Controls.Add(btnSearch);
            layoutControl1.Controls.Add(txtName);
            layoutControl1.Controls.Add(txtModelType);
            layoutControl1.Controls.Add(txtCode);
            layoutControl1.Controls.Add(gridControl1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1227, 184, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(1173, 473);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // textEdit3
            //
            textEdit3.Location = new Point(728, 14);
            textEdit3.Name = "textEdit3";
            textEdit3.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            textEdit3.Properties.AutoHeight = false;
            textEdit3.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            textEdit3.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
            textEdit3.Properties.NullValuePrompt = "mm";
            textEdit3.Size = new Size(50, 22);
            textEdit3.StyleController = layoutControl1;
            textEdit3.TabIndex = 10;
            //
            // textEdit2
            //
            textEdit2.Location = new Point(654, 14);
            textEdit2.Name = "textEdit2";
            textEdit2.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            textEdit2.Properties.AutoHeight = false;
            textEdit2.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            textEdit2.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
            textEdit2.Properties.NullValuePrompt = "mm";
            textEdit2.Size = new Size(50, 22);
            textEdit2.StyleController = layoutControl1;
            textEdit2.TabIndex = 9;
            //
            // textEdit1
            //
            textEdit1.Location = new Point(504, 14);
            textEdit1.Name = "textEdit1";
            textEdit1.Properties.AutoHeight = false;
            textEdit1.Size = new Size(106, 22);
            textEdit1.StyleController = layoutControl1;
            textEdit1.TabIndex = 8;
            //
            // btnReset
            //
            btnReset.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnReset.Appearance.Options.UseBackColor = true;
            btnReset.Location = new Point(882, 14);
            btnReset.Name = "btnReset";
            btnReset.Size = new Size(96, 22);
            btnReset.StyleController = layoutControl1;
            btnReset.TabIndex = 7;
            btnReset.Text = "重置";
            btnReset.Click += btnReset_Click;
            //
            // btnSet
            //
            btnSet.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Success;
            btnSet.Appearance.Options.UseBackColor = true;
            btnSet.Location = new Point(1063, 14);
            btnSet.Name = "btnSet";
            btnSet.Size = new Size(96, 22);
            btnSet.StyleController = layoutControl1;
            btnSet.TabIndex = 6;
            btnSet.Text = "设置";
            btnSet.Click += btnSet_Click;
            //
            // btnSearch
            //
            btnSearch.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnSearch.Appearance.Options.UseBackColor = true;
            btnSearch.Location = new Point(782, 14);
            btnSearch.Name = "btnSearch";
            btnSearch.Size = new Size(96, 22);
            btnSearch.StyleController = layoutControl1;
            btnSearch.TabIndex = 5;
            btnSearch.Text = "查询";
            btnSearch.Click += btnSearch_Click;
            //
            // txtName
            //
            txtName.Location = new Point(54, 14);
            txtName.Name = "txtName";
            txtName.Properties.AutoHeight = false;
            txtName.Size = new Size(106, 22);
            txtName.StyleController = layoutControl1;
            txtName.TabIndex = 0;
            //
            // txtModelType
            //
            txtModelType.Location = new Point(354, 14);
            txtModelType.Name = "txtModelType";
            txtModelType.Properties.AutoHeight = false;
            txtModelType.Size = new Size(106, 22);
            txtModelType.StyleController = layoutControl1;
            txtModelType.TabIndex = 3;
            //
            // txtCode
            //
            txtCode.Location = new Point(204, 14);
            txtCode.Name = "txtCode";
            txtCode.Properties.AutoHeight = false;
            txtCode.Size = new Size(106, 22);
            txtCode.StyleController = layoutControl1;
            txtCode.TabIndex = 2;
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, groupForHead });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Root.Size = new Size(1173, 473);
            Root.TextVisible = false;
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = gridControl1;
            layoutControlItem1.Location = new Point(0, 48);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(1173, 425);
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            //
            // groupForHead
            //
            groupForHead.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem5, layoutControlItem6, layoutControlItem7, layoutControlItem8, layoutControlItem9, simpleLabelItem1, layoutControlItem10 });
            groupForHead.Location = new Point(0, 0);
            groupForHead.Name = "groupForHead";
            groupForHead.Size = new Size(1173, 48);
            groupForHead.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 0);
            groupForHead.Text = "查询条件";
            groupForHead.TextVisible = false;
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtName;
            layoutControlItem4.Location = new Point(0, 0);
            layoutControlItem4.MaxSize = new Size(150, 26);
            layoutControlItem4.MinSize = new Size(150, 26);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(150, 26);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.Text = "名称:";
            layoutControlItem4.TextSize = new Size(28, 14);
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = txtCode;
            layoutControlItem2.Location = new Point(150, 0);
            layoutControlItem2.MaxSize = new Size(150, 26);
            layoutControlItem2.MinSize = new Size(150, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(150, 26);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.Text = "编码:";
            layoutControlItem2.TextSize = new Size(28, 14);
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = txtModelType;
            layoutControlItem3.Location = new Point(300, 0);
            layoutControlItem3.MaxSize = new Size(150, 26);
            layoutControlItem3.MinSize = new Size(150, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(150, 26);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.Text = "型号:";
            layoutControlItem3.TextSize = new Size(28, 14);
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(968, 0);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(81, 26);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = btnSearch;
            layoutControlItem5.Location = new Point(768, 0);
            layoutControlItem5.MaxSize = new Size(100, 26);
            layoutControlItem5.MinSize = new Size(100, 26);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(100, 26);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem6
            //
            layoutControlItem6.Control = btnSet;
            layoutControlItem6.Location = new Point(1049, 0);
            layoutControlItem6.MaxSize = new Size(100, 26);
            layoutControlItem6.MinSize = new Size(100, 26);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(100, 26);
            layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem6.TextSize = new Size(0, 0);
            layoutControlItem6.TextVisible = false;
            //
            // layoutControlItem7
            //
            layoutControlItem7.Control = btnReset;
            layoutControlItem7.Location = new Point(868, 0);
            layoutControlItem7.MaxSize = new Size(100, 26);
            layoutControlItem7.MinSize = new Size(100, 26);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(100, 26);
            layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem7.TextSize = new Size(0, 0);
            layoutControlItem7.TextVisible = false;
            //
            // layoutControlItem8
            //
            layoutControlItem8.Control = textEdit1;
            layoutControlItem8.Location = new Point(450, 0);
            layoutControlItem8.MaxSize = new Size(150, 26);
            layoutControlItem8.MinSize = new Size(150, 26);
            layoutControlItem8.Name = "layoutControlItem8";
            layoutControlItem8.Size = new Size(150, 26);
            layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem8.Text = "材质:";
            layoutControlItem8.TextSize = new Size(28, 14);
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = textEdit2;
            layoutControlItem9.Location = new Point(600, 0);
            layoutControlItem9.MaxSize = new Size(94, 26);
            layoutControlItem9.MinSize = new Size(94, 26);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(94, 26);
            layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem9.Text = "口径:";
            layoutControlItem9.TextSize = new Size(28, 14);
            //
            // simpleLabelItem1
            //
            simpleLabelItem1.AllowHotTrack = false;
            simpleLabelItem1.AppearanceItemCaption.Options.UseTextOptions = true;
            simpleLabelItem1.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            simpleLabelItem1.Location = new Point(694, 0);
            simpleLabelItem1.MaxSize = new Size(20, 18);
            simpleLabelItem1.MinSize = new Size(20, 18);
            simpleLabelItem1.Name = "simpleLabelItem1";
            simpleLabelItem1.Size = new Size(20, 26);
            simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            simpleLabelItem1.Text = "-";
            simpleLabelItem1.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
            simpleLabelItem1.TextSize = new Size(50, 20);
            //
            // layoutControlItem10
            //
            layoutControlItem10.Control = textEdit3;
            layoutControlItem10.Location = new Point(714, 0);
            layoutControlItem10.MaxSize = new Size(54, 26);
            layoutControlItem10.MinSize = new Size(54, 26);
            layoutControlItem10.Name = "layoutControlItem10";
            layoutControlItem10.Size = new Size(54, 26);
            layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem10.TextSize = new Size(0, 0);
            layoutControlItem10.TextVisible = false;
            //
            // hydroFourlinkBulkSetViewModelBindingSource
            //
            hydroFourlinkBulkSetViewModelBindingSource.DataSource = typeof(HydroFourlinkBulkSetViewModel);
            //
            // HydroFourlinkBulkSetListCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "HydroFourlinkBulkSetListCtrl";
            Size = new Size(1173, 473);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)textEdit3.Properties).EndInit();
            ((ISupportInitialize)textEdit2.Properties).EndInit();
            ((ISupportInitialize)textEdit1.Properties).EndInit();
            ((ISupportInitialize)txtName.Properties).EndInit();
            ((ISupportInitialize)txtModelType.Properties).EndInit();
            ((ISupportInitialize)txtCode.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)groupForHead).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem6).EndInit();
            ((ISupportInitialize)layoutControlItem7).EndInit();
            ((ISupportInitialize)layoutControlItem8).EndInit();
            ((ISupportInitialize)layoutControlItem9).EndInit();
            ((ISupportInitialize)simpleLabelItem1).EndInit();
            ((ISupportInitialize)layoutControlItem10).EndInit();
            ((ISupportInitialize)hydroFourlinkBulkSetViewModelBindingSource).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraGrid.GridControl gridControl1;
        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
        private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
        private DevExpress.XtraGrid.Columns.GridColumn colName;
        private DevExpress.XtraGrid.Columns.GridColumn colCode;
        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
        private DevExpress.XtraGrid.Columns.GridColumn colHasDb;
        private DevExpress.XtraGrid.Columns.GridColumn colFlagsString;
        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.SimpleButton btnSearch;
        private DevExpress.XtraEditors.TextEdit txtName;
        private DevExpress.XtraEditors.TextEdit txtModelType;
        private DevExpress.XtraEditors.TextEdit txtCode;
        private DevExpress.XtraLayout.LayoutControlGroup groupForHead;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnSet;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraEditors.SimpleButton btnReset;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraGrid.Columns.GridColumn colElev;
        private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss;
        private DevExpress.XtraGrid.Columns.GridColumn colDemand;
        private DevExpress.XtraGrid.Columns.GridColumn colMaterial;
        private DevExpress.XtraGrid.Columns.GridColumn colCaliber;
        private DevExpress.XtraEditors.TextEdit textEdit3;
        private DevExpress.XtraEditors.TextEdit textEdit2;
        private DevExpress.XtraEditors.TextEdit textEdit1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
        private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
        private BindingSource hydroFourlinkBulkSetViewModelBindingSource;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,144 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTabbedMdi;
namespace Yw.WinFrmUI
{
    public partial class HydroFourlinkBulkSetListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterBulkSetListCtrl
    {
        public HydroFourlinkBulkSetListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
        /// æ°´åŠ›ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<Yw.Model.HydroParterInfo> HydroClickEvent;
        /// <summary>
        /// æ˜¯å¦æ‹¥æœ‰æ°´åˆ©åˆ—表
        /// </summary>
        public bool HasHydroList
        {
            get { return _allBindingList != null && _allBindingList.Count > 0; }
        }
        //所有列表
        private List<HydroFourlinkBulkSetViewModel> _allList = null;
        //所有绑定列表
        private List<HydroFourlinkBulkSetViewModel> _allBindingList = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroFourlinkBulkSetViewModel>();
            if (hydroInfo != null && hydroInfo.Fourlinks != null && hydroInfo.Fourlinks.Count > 0)
            {
                foreach (var fourlink in hydroInfo.Fourlinks)
                {
                    var vm = new HydroFourlinkBulkSetViewModel(fourlink);
                    _allList.Add(vm);
                }
            }
            Search();
        }
        //查询
        private void Search()
        {
            if (_allList == null || _allList.Count < 1)
            {
                return;
            }
            var name = this.txtName.Text.Trim();
            var code = this.txtCode.Text.Trim();
            var modelType = this.txtModelType.Text.Trim();
            _allBindingList = _allList;
            if (!string.IsNullOrEmpty(name))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Name) && x.Name.Contains(name)).ToList();
            }
            if (!string.IsNullOrEmpty(code))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Code) && x.Code.Contains(code)).ToList();
            }
            if (!string.IsNullOrEmpty(modelType))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.ModelType) && x.ModelType.Contains(modelType)).ToList();
            }
            this.hydroFourlinkBulkSetViewModelBindingSource.DataSource = _allBindingList;
            this.hydroFourlinkBulkSetViewModelBindingSource.ResetBindings(false);
        }
        //重置
        private void Reset()
        {
            this.txtName.EditValue = null;
            this.txtCode.EditValue = null;
            this.txtModelType.EditValue = null;
            Search();
        }
        //设置
        private void Set()
        {
            Search();
            if (_allBindingList == null || _allBindingList.Count < 1)
            {
                XtraMessageBox.Show("无可设置连接节点数据");
                return;
            }
            var dlg = new HydroFourlinkBulkSetDlg();
            dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList());
            dlg.ReloadDataEvent += (list) =>
            {
                _allBindingList.ForEach(x =>
                {
                    x.Elev = x.Vmo.Elev;
                    x.MinorLoss = x.Vmo.MinorLoss;
                    x.Demand = x.Vmo.Demand;
                    x.Material = x.Vmo.Material;
                    x.Caliber = x.Vmo.Caliber;
                });
                this.hydroFourlinkBulkSetViewModelBindingSource.DataSource = _allBindingList;
                this.hydroFourlinkBulkSetViewModelBindingSource.ResetBindings(false);
            };
            dlg.ShowDialog();
        }
        //行点击事件
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroJunctionBulkSetViewModel;
            if (row == null)
            {
                return;
            }
            this.HydroClickEvent?.Invoke(row.Vmo);
        }
        //查询
        private void btnSearch_Click(object sender, EventArgs e)
        {
            Search();
        }
        //重置
        private void btnReset_Click(object sender, EventArgs e)
        {
            Reset();
        }
        //设置
        private void btnSet_Click(object sender, EventArgs e)
        {
            Set();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListCtrl.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="hydroFourlinkBulkSetViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
namespace Yw.WinFrmUI
{
    partial class HydroFourlinkBulkSetListDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            hydroFourlinkBulkSetListCtrl1 = new HydroFourlinkBulkSetListCtrl();
            SuspendLayout();
            //
            // hydroFourlinkBulkSetListCtrl1
            //
            hydroFourlinkBulkSetListCtrl1.Dock = DockStyle.Fill;
            hydroFourlinkBulkSetListCtrl1.Location = new Point(0, 0);
            hydroFourlinkBulkSetListCtrl1.Name = "hydroFourlinkBulkSetListCtrl1";
            hydroFourlinkBulkSetListCtrl1.Size = new Size(1397, 449);
            hydroFourlinkBulkSetListCtrl1.TabIndex = 0;
            //
            // HydroFourlinkBulkSetListDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1397, 449);
            Controls.Add(hydroFourlinkBulkSetListCtrl1);
            Name = "HydroFourlinkBulkSetListDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "四通";
            ResumeLayout(false);
        }
        #endregion
        private HydroFourlinkBulkSetListCtrl hydroFourlinkBulkSetListCtrl1;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Yw.WinFrmUI
{
    public partial class HydroFourlinkBulkSetListDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroFourlinkBulkSetListDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetListDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/01-coupling/04-fourlink/HydroFourlinkBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroFourlinkBulkSetViewModel : HydroCouplingBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroFourlinkBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroFourlinkBulkSetViewModel(Yw.Model.HydroFourlinkInfo rhs) : base(rhs)
        {
            this.Vmo = rhs;
        }
        /// <summary>
        ///
        /// </summary>
        public new Yw.Model.HydroFourlinkInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/00-core/HydroEmitterBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,35 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroEmitterBulkSetViewModel : HydroJunctionBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroEmitterBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroEmitterBulkSetViewModel(Yw.Model.HydroEmitterInfo rhs) : base(rhs)
        {
            this.Coefficient = rhs.Coefficient;
            this.Vmo = rhs;
        }
        /// <summary>
        /// å–·å°„系数
        /// </summary>
        [DisplayName("喷射系数")]
        public double Coefficient { get; set; }
        /// <summary>
        /// Vmo
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroEmitterInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,286 @@
namespace Yw.WinFrmUI
{
    partial class HydroHydrantBulkSetDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            txtCoefficient = new DevExpress.XtraEditors.TextEdit();
            txtDemand = new DevExpress.XtraEditors.TextEdit();
            txtMinorLoss = new DevExpress.XtraEditors.TextEdit();
            txtElev = new DevExpress.XtraEditors.TextEdit();
            btnOk = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtCoefficient.Properties).BeginInit();
            ((ISupportInitialize)txtDemand.Properties).BeginInit();
            ((ISupportInitialize)txtMinorLoss.Properties).BeginInit();
            ((ISupportInitialize)txtElev.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem9).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(txtCoefficient);
            layoutControl1.Controls.Add(txtDemand);
            layoutControl1.Controls.Add(txtMinorLoss);
            layoutControl1.Controls.Add(txtElev);
            layoutControl1.Controls.Add(btnOk);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(670, 266, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(430, 95);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtCoefficient
            //
            txtCoefficient.Location = new Point(280, 12);
            txtCoefficient.Name = "txtCoefficient";
            txtCoefficient.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtCoefficient.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtCoefficient.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
            txtCoefficient.Size = new Size(138, 20);
            txtCoefficient.StyleController = layoutControl1;
            txtCoefficient.TabIndex = 4;
            //
            // txtDemand
            //
            txtDemand.Location = new Point(281, 36);
            txtDemand.Name = "txtDemand";
            txtDemand.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtDemand.Properties.DisplayFormat.FormatString = "{0}m³/h";
            txtDemand.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtDemand.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtDemand.Properties.NullValuePrompt = "m³/h";
            txtDemand.Size = new Size(137, 20);
            txtDemand.StyleController = layoutControl1;
            txtDemand.TabIndex = 3;
            //
            // txtMinorLoss
            //
            txtMinorLoss.Location = new Point(76, 36);
            txtMinorLoss.Name = "txtMinorLoss";
            txtMinorLoss.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtMinorLoss.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtMinorLoss.Size = new Size(137, 20);
            txtMinorLoss.StyleController = layoutControl1;
            txtMinorLoss.TabIndex = 2;
            //
            // txtElev
            //
            txtElev.Location = new Point(76, 12);
            txtElev.Name = "txtElev";
            txtElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtElev.Properties.DisplayFormat.FormatString = "{0}m";
            txtElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtElev.Properties.NullValuePrompt = "m";
            txtElev.Size = new Size(136, 20);
            txtElev.StyleController = layoutControl1;
            txtElev.TabIndex = 0;
            //
            // btnOk
            //
            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnOk.Appearance.Options.UseBackColor = true;
            btnOk.Location = new Point(244, 60);
            btnOk.Name = "btnOk";
            btnOk.Size = new Size(85, 22);
            btnOk.StyleController = layoutControl1;
            btnOk.TabIndex = 5;
            btnOk.Text = "确定";
            btnOk.Click += btnOk_Click;
            //
            // btnCancel
            //
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.DialogResult = DialogResult.Cancel;
            btnCancel.Location = new Point(333, 60);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(85, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 6;
            btnCancel.Text = "取消";
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem1, layoutControlItem4, layoutControlItem9, layoutControlItem5 });
            Root.Name = "Root";
            Root.Size = new Size(430, 95);
            Root.TextVisible = false;
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = btnCancel;
            layoutControlItem2.Location = new Point(321, 48);
            layoutControlItem2.MaxSize = new Size(89, 26);
            layoutControlItem2.MinSize = new Size(89, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(89, 27);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = btnOk;
            layoutControlItem3.Location = new Point(232, 48);
            layoutControlItem3.MaxSize = new Size(89, 26);
            layoutControlItem3.MinSize = new Size(89, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(89, 27);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 48);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(232, 27);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = txtElev;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(204, 24);
            layoutControlItem1.Text = "标高:";
            layoutControlItem1.TextSize = new Size(52, 14);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = txtDemand;
            layoutControlItem5.Location = new Point(205, 24);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(205, 24);
            layoutControlItem5.Text = "需水量:";
            layoutControlItem5.TextSize = new Size(52, 14);
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtMinorLoss;
            layoutControlItem4.Location = new Point(0, 24);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(205, 24);
            layoutControlItem4.Text = "局阻系数:";
            layoutControlItem4.TextSize = new Size(52, 14);
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = txtCoefficient;
            layoutControlItem9.Location = new Point(204, 0);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(206, 24);
            layoutControlItem9.Text = "喷射系数:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // HydroHydrantBulkSetDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(430, 95);
            Controls.Add(layoutControl1);
            MaximizeBox = false;
            Name = "HydroHydrantBulkSetDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "设置";
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtCoefficient.Properties).EndInit();
            ((ISupportInitialize)txtDemand.Properties).EndInit();
            ((ISupportInitialize)txtMinorLoss.Properties).EndInit();
            ((ISupportInitialize)txtElev.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem9).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.TextEdit txtElev;
        private DevExpress.XtraEditors.SimpleButton btnOk;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraEditors.TextEdit txtDemand;
        private DevExpress.XtraEditors.TextEdit txtMinorLoss;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraEditors.TextEdit txtCoefficient;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
using DevExpress.XtraSpreadsheet.Model;
namespace Yw.WinFrmUI
{
    public partial class HydroHydrantBulkSetDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroHydrantBulkSetDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        public event Action<List<Yw.Model.HydroHydrantInfo>> ReloadDataEvent;
        private List<Yw.Model.HydroHydrantInfo> _allHydrantList = null;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroHydrantInfo> allHydrantList)
        {
            _allHydrantList = allHydrantList;
            if (_allHydrantList != null && _allHydrantList.Count == 1)
            {
                var hydrant = _allHydrantList.First();
                this.txtElev.EditValue = hydrant.Elev;
                this.txtMinorLoss.EditValue = hydrant.MinorLoss;
                this.txtDemand.EditValue = hydrant.Demand;
                this.txtCoefficient.EditValue = hydrant.Coefficient;
            }
        }
        //验证
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (this.txtElev.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtElev, "必填项");
                return false;
            }
            if (this.txtCoefficient.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtCoefficient, "必填项");
                return false;
            }
            return true;
        }
        //
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (_allHydrantList == null || _allHydrantList.Count < 1)
            {
                return;
            }
            if (!Valid())
            {
                return;
            }
            var elev = double.Parse(this.txtElev.EditValue.ToString());
            double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString());
            double? demand = this.txtDemand.EditValue == null ? null : double.Parse(this.txtDemand.EditValue.ToString());
            var coefficient = double.Parse(this.txtCoefficient.EditValue.ToString());
            _allHydrantList.ForEach(x =>
            {
                x.Elev = elev;
                x.MinorLoss = minorLoss;
                x.Demand = demand;
                x.Coefficient = coefficient;
            });
            this.ReloadDataEvent?.Invoke(_allHydrantList);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="dxErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,467 @@
namespace Yw.WinFrmUI
{
    partial class HydroHydrantBulkSetListCtrl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Component Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
            colElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colHasDb = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            btnReset = new DevExpress.XtraEditors.SimpleButton();
            btnSet = new DevExpress.XtraEditors.SimpleButton();
            btnSearch = new DevExpress.XtraEditors.SimpleButton();
            txtName = new DevExpress.XtraEditors.TextEdit();
            txtModelType = new DevExpress.XtraEditors.TextEdit();
            txtCode = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            groupForHead = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            hydroHydrantBulkSetViewModelBindingSource = new BindingSource(components);
            colCoefficient = new DevExpress.XtraGrid.Columns.GridColumn();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtName.Properties).BeginInit();
            ((ISupportInitialize)txtModelType.Properties).BeginInit();
            ((ISupportInitialize)txtCode.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)groupForHead).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem6).BeginInit();
            ((ISupportInitialize)layoutControlItem7).BeginInit();
            ((ISupportInitialize)hydroHydrantBulkSetViewModelBindingSource).BeginInit();
            SuspendLayout();
            //
            // gridControl1
            //
            gridControl1.DataSource = hydroHydrantBulkSetViewModelBindingSource;
            gridControl1.Location = new Point(2, 50);
            gridControl1.MainView = gridView1;
            gridControl1.Name = "gridControl1";
            gridControl1.Size = new Size(1087, 421);
            gridControl1.TabIndex = 4;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            //
            // gridView1
            //
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colName, colCode, colModelType, colElev, colMinorLoss, colCoefficient, colDemand, colHasDb, colFlagsString, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.RowClick += gridView1_RowClick;
            //
            // colDbLocked
            //
            colDbLocked.FieldName = "DbLocked";
            colDbLocked.MaxWidth = 60;
            colDbLocked.MinWidth = 60;
            colDbLocked.Name = "colDbLocked";
            colDbLocked.Visible = true;
            colDbLocked.VisibleIndex = 0;
            colDbLocked.Width = 60;
            //
            // colName
            //
            colName.FieldName = "Name";
            colName.MaxWidth = 150;
            colName.MinWidth = 100;
            colName.Name = "colName";
            colName.Visible = true;
            colName.VisibleIndex = 1;
            colName.Width = 100;
            //
            // colCode
            //
            colCode.FieldName = "Code";
            colCode.MaxWidth = 150;
            colCode.MinWidth = 100;
            colCode.Name = "colCode";
            colCode.Visible = true;
            colCode.VisibleIndex = 2;
            colCode.Width = 100;
            //
            // colModelType
            //
            colModelType.FieldName = "ModelType";
            colModelType.MaxWidth = 150;
            colModelType.MinWidth = 100;
            colModelType.Name = "colModelType";
            colModelType.Visible = true;
            colModelType.VisibleIndex = 3;
            colModelType.Width = 100;
            //
            // colElev
            //
            colElev.FieldName = "Elev";
            colElev.MaxWidth = 100;
            colElev.MinWidth = 100;
            colElev.Name = "colElev";
            colElev.Visible = true;
            colElev.VisibleIndex = 4;
            colElev.Width = 100;
            //
            // colMinorLoss
            //
            colMinorLoss.FieldName = "MinorLoss";
            colMinorLoss.MaxWidth = 100;
            colMinorLoss.MinWidth = 100;
            colMinorLoss.Name = "colMinorLoss";
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 5;
            colMinorLoss.Width = 100;
            //
            // colDemand
            //
            colDemand.FieldName = "Demand";
            colDemand.MaxWidth = 100;
            colDemand.MinWidth = 100;
            colDemand.Name = "colDemand";
            colDemand.Visible = true;
            colDemand.VisibleIndex = 8;
            colDemand.Width = 100;
            //
            // colHasDb
            //
            colHasDb.FieldName = "HasDb";
            colHasDb.MaxWidth = 60;
            colHasDb.MinWidth = 60;
            colHasDb.Name = "colHasDb";
            colHasDb.Visible = true;
            colHasDb.VisibleIndex = 7;
            colHasDb.Width = 60;
            //
            // colFlagsString
            //
            colFlagsString.FieldName = "FlagsString";
            colFlagsString.MaxWidth = 200;
            colFlagsString.MinWidth = 100;
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 9;
            colFlagsString.Width = 100;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.MinWidth = 100;
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            colDescription.Width = 100;
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(btnReset);
            layoutControl1.Controls.Add(btnSet);
            layoutControl1.Controls.Add(btnSearch);
            layoutControl1.Controls.Add(txtName);
            layoutControl1.Controls.Add(txtModelType);
            layoutControl1.Controls.Add(txtCode);
            layoutControl1.Controls.Add(gridControl1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1227, 184, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(1091, 473);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // btnReset
            //
            btnReset.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnReset.Appearance.Options.UseBackColor = true;
            btnReset.Location = new Point(714, 14);
            btnReset.Name = "btnReset";
            btnReset.Size = new Size(96, 22);
            btnReset.StyleController = layoutControl1;
            btnReset.TabIndex = 7;
            btnReset.Text = "重置";
            btnReset.Click += btnReset_Click;
            //
            // btnSet
            //
            btnSet.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Success;
            btnSet.Appearance.Options.UseBackColor = true;
            btnSet.Location = new Point(981, 14);
            btnSet.Name = "btnSet";
            btnSet.Size = new Size(96, 22);
            btnSet.StyleController = layoutControl1;
            btnSet.TabIndex = 6;
            btnSet.Text = "设置";
            btnSet.Click += btnSet_Click;
            //
            // btnSearch
            //
            btnSearch.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnSearch.Appearance.Options.UseBackColor = true;
            btnSearch.Location = new Point(614, 14);
            btnSearch.Name = "btnSearch";
            btnSearch.Size = new Size(96, 22);
            btnSearch.StyleController = layoutControl1;
            btnSearch.TabIndex = 5;
            btnSearch.Text = "查询";
            btnSearch.Click += btnSearch_Click;
            //
            // txtName
            //
            txtName.Location = new Point(54, 14);
            txtName.Name = "txtName";
            txtName.Properties.AutoHeight = false;
            txtName.Size = new Size(156, 22);
            txtName.StyleController = layoutControl1;
            txtName.TabIndex = 0;
            //
            // txtModelType
            //
            txtModelType.Location = new Point(454, 14);
            txtModelType.Name = "txtModelType";
            txtModelType.Properties.AutoHeight = false;
            txtModelType.Size = new Size(156, 22);
            txtModelType.StyleController = layoutControl1;
            txtModelType.TabIndex = 3;
            //
            // txtCode
            //
            txtCode.Location = new Point(254, 14);
            txtCode.Name = "txtCode";
            txtCode.Properties.AutoHeight = false;
            txtCode.Size = new Size(156, 22);
            txtCode.StyleController = layoutControl1;
            txtCode.TabIndex = 2;
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, groupForHead });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Root.Size = new Size(1091, 473);
            Root.TextVisible = false;
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = gridControl1;
            layoutControlItem1.Location = new Point(0, 48);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(1091, 425);
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            //
            // groupForHead
            //
            groupForHead.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem5, layoutControlItem6, layoutControlItem7 });
            groupForHead.Location = new Point(0, 0);
            groupForHead.Name = "groupForHead";
            groupForHead.Size = new Size(1091, 48);
            groupForHead.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 0);
            groupForHead.Text = "查询条件";
            groupForHead.TextVisible = false;
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtName;
            layoutControlItem4.Location = new Point(0, 0);
            layoutControlItem4.MaxSize = new Size(200, 26);
            layoutControlItem4.MinSize = new Size(200, 26);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(200, 26);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.Text = "名称:";
            layoutControlItem4.TextSize = new Size(28, 14);
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = txtCode;
            layoutControlItem2.Location = new Point(200, 0);
            layoutControlItem2.MaxSize = new Size(200, 26);
            layoutControlItem2.MinSize = new Size(200, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(200, 26);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.Text = "编码:";
            layoutControlItem2.TextSize = new Size(28, 14);
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = txtModelType;
            layoutControlItem3.Location = new Point(400, 0);
            layoutControlItem3.MaxSize = new Size(200, 26);
            layoutControlItem3.MinSize = new Size(200, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(200, 26);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.Text = "型号:";
            layoutControlItem3.TextSize = new Size(28, 14);
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(800, 0);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(167, 26);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = btnSearch;
            layoutControlItem5.Location = new Point(600, 0);
            layoutControlItem5.MaxSize = new Size(100, 26);
            layoutControlItem5.MinSize = new Size(100, 26);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(100, 26);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem6
            //
            layoutControlItem6.Control = btnSet;
            layoutControlItem6.Location = new Point(967, 0);
            layoutControlItem6.MaxSize = new Size(100, 26);
            layoutControlItem6.MinSize = new Size(100, 26);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(100, 26);
            layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem6.TextSize = new Size(0, 0);
            layoutControlItem6.TextVisible = false;
            //
            // layoutControlItem7
            //
            layoutControlItem7.Control = btnReset;
            layoutControlItem7.Location = new Point(700, 0);
            layoutControlItem7.MaxSize = new Size(100, 26);
            layoutControlItem7.MinSize = new Size(100, 26);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(100, 26);
            layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem7.TextSize = new Size(0, 0);
            layoutControlItem7.TextVisible = false;
            //
            // hydroHydrantBulkSetViewModelBindingSource
            //
            hydroHydrantBulkSetViewModelBindingSource.DataSource = typeof(HydroHydrantBulkSetViewModel);
            //
            // colCoefficient
            //
            colCoefficient.FieldName = "Coefficient";
            colCoefficient.MaxWidth = 100;
            colCoefficient.MinWidth = 100;
            colCoefficient.Name = "colCoefficient";
            colCoefficient.Visible = true;
            colCoefficient.VisibleIndex = 6;
            colCoefficient.Width = 100;
            //
            // HydroHydrantBulkSetListCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "HydroHydrantBulkSetListCtrl";
            Size = new Size(1091, 473);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtName.Properties).EndInit();
            ((ISupportInitialize)txtModelType.Properties).EndInit();
            ((ISupportInitialize)txtCode.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)groupForHead).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem6).EndInit();
            ((ISupportInitialize)layoutControlItem7).EndInit();
            ((ISupportInitialize)hydroHydrantBulkSetViewModelBindingSource).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraGrid.GridControl gridControl1;
        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
        private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
        private DevExpress.XtraGrid.Columns.GridColumn colName;
        private DevExpress.XtraGrid.Columns.GridColumn colCode;
        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
        private DevExpress.XtraGrid.Columns.GridColumn colHasDb;
        private DevExpress.XtraGrid.Columns.GridColumn colFlagsString;
        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.SimpleButton btnSearch;
        private DevExpress.XtraEditors.TextEdit txtName;
        private DevExpress.XtraEditors.TextEdit txtModelType;
        private DevExpress.XtraEditors.TextEdit txtCode;
        private DevExpress.XtraLayout.LayoutControlGroup groupForHead;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnSet;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraEditors.SimpleButton btnReset;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraGrid.Columns.GridColumn colElev;
        private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss;
        private DevExpress.XtraGrid.Columns.GridColumn colDemand;
        private BindingSource hydroHydrantBulkSetViewModelBindingSource;
        private DevExpress.XtraGrid.Columns.GridColumn colCoefficient;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,142 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTabbedMdi;
namespace Yw.WinFrmUI
{
    public partial class HydroHydrantBulkSetListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterBulkSetListCtrl
    {
        public HydroHydrantBulkSetListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
        /// æ°´åŠ›ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<Yw.Model.HydroParterInfo> HydroClickEvent;
        /// <summary>
        /// æ˜¯å¦æ‹¥æœ‰æ°´åˆ©åˆ—表
        /// </summary>
        public bool HasHydroList
        {
            get { return _allBindingList != null && _allBindingList.Count > 0; }
        }
        //所有列表
        private List<HydroHydrantBulkSetViewModel> _allList = null;
        //所有绑定列表
        private List<HydroHydrantBulkSetViewModel> _allBindingList = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroHydrantBulkSetViewModel>();
            if (hydroInfo != null && hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0)
            {
                foreach (var hydrant in hydroInfo.Hydrants)
                {
                    var vm = new HydroHydrantBulkSetViewModel(hydrant);
                    _allList.Add(vm);
                }
            }
            Search();
        }
        //查询
        private void Search()
        {
            if (_allList == null || _allList.Count < 1)
            {
                return;
            }
            var name = this.txtName.Text.Trim();
            var code = this.txtCode.Text.Trim();
            var modelType = this.txtModelType.Text.Trim();
            _allBindingList = _allList;
            if (!string.IsNullOrEmpty(name))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Name) && x.Name.Contains(name)).ToList();
            }
            if (!string.IsNullOrEmpty(code))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Code) && x.Code.Contains(code)).ToList();
            }
            if (!string.IsNullOrEmpty(modelType))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.ModelType) && x.ModelType.Contains(modelType)).ToList();
            }
            this.hydroHydrantBulkSetViewModelBindingSource.DataSource = _allBindingList;
            this.hydroHydrantBulkSetViewModelBindingSource.ResetBindings(false);
        }
        //重置
        private void Reset()
        {
            this.txtName.EditValue = null;
            this.txtCode.EditValue = null;
            this.txtModelType.EditValue = null;
            Search();
        }
        //设置
        private void Set()
        {
            Search();
            if (_allBindingList == null || _allBindingList.Count < 1)
            {
                XtraMessageBox.Show("无可设置连接节点数据");
                return;
            }
            var dlg = new HydroHydrantBulkSetDlg();
            dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList());
            dlg.ReloadDataEvent += (list) =>
            {
                _allBindingList.ForEach(x =>
                {
                    x.Elev = x.Vmo.Elev;
                    x.MinorLoss = x.Vmo.MinorLoss;
                    x.Demand = x.Vmo.Demand;
                });
                this.hydroHydrantBulkSetViewModelBindingSource.DataSource = _allBindingList;
                this.hydroHydrantBulkSetViewModelBindingSource.ResetBindings(false);
            };
            dlg.ShowDialog();
        }
        //行点击事件
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroHydrantBulkSetViewModel;
            if (row == null)
            {
                return;
            }
            this.HydroClickEvent?.Invoke(row.Vmo);
        }
        //查询
        private void btnSearch_Click(object sender, EventArgs e)
        {
            Search();
        }
        //重置
        private void btnReset_Click(object sender, EventArgs e)
        {
            Reset();
        }
        //设置
        private void btnSet_Click(object sender, EventArgs e)
        {
            Set();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListCtrl.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="hydroHydrantBulkSetViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
namespace Yw.WinFrmUI
{
    partial class HydroHydrantBulkSetListDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            hydroHydrantBulkSetListCtrl1 = new HydroHydrantBulkSetListCtrl();
            SuspendLayout();
            //
            // hydroHydrantBulkSetListCtrl1
            //
            hydroHydrantBulkSetListCtrl1.Dock = DockStyle.Fill;
            hydroHydrantBulkSetListCtrl1.Location = new Point(0, 0);
            hydroHydrantBulkSetListCtrl1.Name = "hydroHydrantBulkSetListCtrl1";
            hydroHydrantBulkSetListCtrl1.Size = new Size(1397, 449);
            hydroHydrantBulkSetListCtrl1.TabIndex = 0;
            //
            // HydroHydrantBulkSetListDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1397, 449);
            Controls.Add(hydroHydrantBulkSetListCtrl1);
            Name = "HydroHydrantBulkSetListDlg";
            Text = "消火栓";
            ResumeLayout(false);
        }
        #endregion
        private HydroHydrantBulkSetListCtrl hydroHydrantBulkSetListCtrl1;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Yw.WinFrmUI
{
    public partial class HydroHydrantBulkSetListDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroHydrantBulkSetListDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetListDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/01-hydrant/HydroHydrantBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroHydrantBulkSetViewModel : HydroEmitterBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroHydrantBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroHydrantBulkSetViewModel(Yw.Model.HydroHydrantInfo rhs) : base(rhs)
        {
            this.Vmo = rhs;
        }
        /// <summary>
        /// Vmo
        /// </summary>
        public new Yw.Model.HydroHydrantInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,286 @@
namespace Yw.WinFrmUI
{
    partial class HydroNozzleBulkSetDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            txtCoefficient = new DevExpress.XtraEditors.TextEdit();
            txtDemand = new DevExpress.XtraEditors.TextEdit();
            txtMinorLoss = new DevExpress.XtraEditors.TextEdit();
            txtElev = new DevExpress.XtraEditors.TextEdit();
            btnOk = new DevExpress.XtraEditors.SimpleButton();
            btnCancel = new DevExpress.XtraEditors.SimpleButton();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtCoefficient.Properties).BeginInit();
            ((ISupportInitialize)txtDemand.Properties).BeginInit();
            ((ISupportInitialize)txtMinorLoss.Properties).BeginInit();
            ((ISupportInitialize)txtElev.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem9).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(txtCoefficient);
            layoutControl1.Controls.Add(txtDemand);
            layoutControl1.Controls.Add(txtMinorLoss);
            layoutControl1.Controls.Add(txtElev);
            layoutControl1.Controls.Add(btnOk);
            layoutControl1.Controls.Add(btnCancel);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(670, 266, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(430, 95);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtCoefficient
            //
            txtCoefficient.Location = new Point(280, 12);
            txtCoefficient.Name = "txtCoefficient";
            txtCoefficient.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtCoefficient.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtCoefficient.Properties.MaskSettings.Set("MaskManagerSignature", "allowNull=False");
            txtCoefficient.Size = new Size(138, 20);
            txtCoefficient.StyleController = layoutControl1;
            txtCoefficient.TabIndex = 4;
            //
            // txtDemand
            //
            txtDemand.Location = new Point(281, 36);
            txtDemand.Name = "txtDemand";
            txtDemand.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtDemand.Properties.DisplayFormat.FormatString = "{0}m³/h";
            txtDemand.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtDemand.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtDemand.Properties.NullValuePrompt = "m³/h";
            txtDemand.Size = new Size(137, 20);
            txtDemand.StyleController = layoutControl1;
            txtDemand.TabIndex = 3;
            //
            // txtMinorLoss
            //
            txtMinorLoss.Location = new Point(76, 36);
            txtMinorLoss.Name = "txtMinorLoss";
            txtMinorLoss.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
            txtMinorLoss.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtMinorLoss.Size = new Size(137, 20);
            txtMinorLoss.StyleController = layoutControl1;
            txtMinorLoss.TabIndex = 2;
            //
            // txtElev
            //
            txtElev.Location = new Point(76, 12);
            txtElev.Name = "txtElev";
            txtElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtElev.Properties.DisplayFormat.FormatString = "{0}m";
            txtElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtElev.Properties.NullValuePrompt = "m";
            txtElev.Size = new Size(136, 20);
            txtElev.StyleController = layoutControl1;
            txtElev.TabIndex = 0;
            //
            // btnOk
            //
            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnOk.Appearance.Options.UseBackColor = true;
            btnOk.Location = new Point(244, 60);
            btnOk.Name = "btnOk";
            btnOk.Size = new Size(85, 22);
            btnOk.StyleController = layoutControl1;
            btnOk.TabIndex = 5;
            btnOk.Text = "确定";
            btnOk.Click += btnOk_Click;
            //
            // btnCancel
            //
            btnCancel.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnCancel.Appearance.Options.UseBackColor = true;
            btnCancel.DialogResult = DialogResult.Cancel;
            btnCancel.Location = new Point(333, 60);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(85, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 6;
            btnCancel.Text = "取消";
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem1, layoutControlItem4, layoutControlItem9, layoutControlItem5 });
            Root.Name = "Root";
            Root.Size = new Size(430, 95);
            Root.TextVisible = false;
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = btnCancel;
            layoutControlItem2.Location = new Point(321, 48);
            layoutControlItem2.MaxSize = new Size(89, 26);
            layoutControlItem2.MinSize = new Size(89, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(89, 27);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = btnOk;
            layoutControlItem3.Location = new Point(232, 48);
            layoutControlItem3.MaxSize = new Size(89, 26);
            layoutControlItem3.MinSize = new Size(89, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(89, 27);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 48);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(232, 27);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = txtElev;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(204, 24);
            layoutControlItem1.Text = "标高:";
            layoutControlItem1.TextSize = new Size(52, 14);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = txtDemand;
            layoutControlItem5.Location = new Point(205, 24);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(205, 24);
            layoutControlItem5.Text = "需水量:";
            layoutControlItem5.TextSize = new Size(52, 14);
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtMinorLoss;
            layoutControlItem4.Location = new Point(0, 24);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(205, 24);
            layoutControlItem4.Text = "局阻系数:";
            layoutControlItem4.TextSize = new Size(52, 14);
            //
            // layoutControlItem9
            //
            layoutControlItem9.Control = txtCoefficient;
            layoutControlItem9.Location = new Point(204, 0);
            layoutControlItem9.Name = "layoutControlItem9";
            layoutControlItem9.Size = new Size(206, 24);
            layoutControlItem9.Text = "喷射系数:";
            layoutControlItem9.TextSize = new Size(52, 14);
            //
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // HydroHydrantBulkSetDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(430, 95);
            Controls.Add(layoutControl1);
            MaximizeBox = false;
            Name = "HydroHydrantBulkSetDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "设置";
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtCoefficient.Properties).EndInit();
            ((ISupportInitialize)txtDemand.Properties).EndInit();
            ((ISupportInitialize)txtMinorLoss.Properties).EndInit();
            ((ISupportInitialize)txtElev.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem9).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.TextEdit txtElev;
        private DevExpress.XtraEditors.SimpleButton btnOk;
        private DevExpress.XtraEditors.SimpleButton btnCancel;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
        private DevExpress.XtraEditors.TextEdit txtDemand;
        private DevExpress.XtraEditors.TextEdit txtMinorLoss;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
        private DevExpress.XtraEditors.TextEdit txtCoefficient;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,80 @@
using DevExpress.XtraSpreadsheet.Model;
namespace Yw.WinFrmUI
{
    public partial class HydroNozzleBulkSetDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroNozzleBulkSetDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        public event Action<List<Yw.Model.HydroNozzleInfo>> ReloadDataEvent;
        private List<Yw.Model.HydroNozzleInfo> _allNozzleList = null;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroNozzleInfo> allNozzleList)
        {
            _allNozzleList = allNozzleList;
            if (_allNozzleList != null && _allNozzleList.Count == 1)
            {
                var hydrant = _allNozzleList.First();
                this.txtElev.EditValue = hydrant.Elev;
                this.txtMinorLoss.EditValue = hydrant.MinorLoss;
                this.txtDemand.EditValue = hydrant.Demand;
                this.txtCoefficient.EditValue = hydrant.Coefficient;
            }
        }
        //验证
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (this.txtElev.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtElev, "必填项");
                return false;
            }
            if (this.txtCoefficient.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtCoefficient, "必填项");
                return false;
            }
            return true;
        }
        //
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (_allNozzleList == null || _allNozzleList.Count < 1)
            {
                return;
            }
            if (!Valid())
            {
                return;
            }
            var elev = double.Parse(this.txtElev.EditValue.ToString());
            double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString());
            double? demand = this.txtDemand.EditValue == null ? null : double.Parse(this.txtDemand.EditValue.ToString());
            var coefficient = double.Parse(this.txtCoefficient.EditValue.ToString());
            _allNozzleList.ForEach(x =>
            {
                x.Elev = elev;
                x.MinorLoss = minorLoss;
                x.Demand = demand;
                x.Coefficient = coefficient;
            });
            this.ReloadDataEvent?.Invoke(_allNozzleList);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="dxErrorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,467 @@
namespace Yw.WinFrmUI
{
    partial class HydroNozzleBulkSetListCtrl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Component Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new Container();
            gridControl1 = new DevExpress.XtraGrid.GridControl();
            gridView1 = new DevExpress.XtraGrid.Views.Grid.GridView();
            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
            colElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinorLoss = new DevExpress.XtraGrid.Columns.GridColumn();
            colCoefficient = new DevExpress.XtraGrid.Columns.GridColumn();
            colDemand = new DevExpress.XtraGrid.Columns.GridColumn();
            colHasDb = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = new DevExpress.XtraGrid.Columns.GridColumn();
            layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
            btnReset = new DevExpress.XtraEditors.SimpleButton();
            btnSet = new DevExpress.XtraEditors.SimpleButton();
            btnSearch = new DevExpress.XtraEditors.SimpleButton();
            txtName = new DevExpress.XtraEditors.TextEdit();
            txtModelType = new DevExpress.XtraEditors.TextEdit();
            txtCode = new DevExpress.XtraEditors.TextEdit();
            Root = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
            groupForHead = new DevExpress.XtraLayout.LayoutControlGroup();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
            emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            hydroNozzleBulkSetViewModelBindingSource = new BindingSource(components);
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)gridView1).BeginInit();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtName.Properties).BeginInit();
            ((ISupportInitialize)txtModelType.Properties).BeginInit();
            ((ISupportInitialize)txtCode.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)groupForHead).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem6).BeginInit();
            ((ISupportInitialize)layoutControlItem7).BeginInit();
            ((ISupportInitialize)hydroNozzleBulkSetViewModelBindingSource).BeginInit();
            SuspendLayout();
            //
            // gridControl1
            //
            gridControl1.DataSource = hydroNozzleBulkSetViewModelBindingSource;
            gridControl1.Location = new Point(2, 50);
            gridControl1.MainView = gridView1;
            gridControl1.Name = "gridControl1";
            gridControl1.Size = new Size(1087, 421);
            gridControl1.TabIndex = 4;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            //
            // gridView1
            //
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colName, colCode, colModelType, colElev, colMinorLoss, colCoefficient, colDemand, colHasDb, colFlagsString, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.RowClick += gridView1_RowClick;
            //
            // colDbLocked
            //
            colDbLocked.FieldName = "DbLocked";
            colDbLocked.MaxWidth = 60;
            colDbLocked.MinWidth = 60;
            colDbLocked.Name = "colDbLocked";
            colDbLocked.Visible = true;
            colDbLocked.VisibleIndex = 0;
            colDbLocked.Width = 60;
            //
            // colName
            //
            colName.FieldName = "Name";
            colName.MaxWidth = 150;
            colName.MinWidth = 100;
            colName.Name = "colName";
            colName.Visible = true;
            colName.VisibleIndex = 1;
            colName.Width = 100;
            //
            // colCode
            //
            colCode.FieldName = "Code";
            colCode.MaxWidth = 150;
            colCode.MinWidth = 100;
            colCode.Name = "colCode";
            colCode.Visible = true;
            colCode.VisibleIndex = 2;
            colCode.Width = 100;
            //
            // colModelType
            //
            colModelType.FieldName = "ModelType";
            colModelType.MaxWidth = 150;
            colModelType.MinWidth = 100;
            colModelType.Name = "colModelType";
            colModelType.Visible = true;
            colModelType.VisibleIndex = 3;
            colModelType.Width = 100;
            //
            // colElev
            //
            colElev.FieldName = "Elev";
            colElev.MaxWidth = 100;
            colElev.MinWidth = 100;
            colElev.Name = "colElev";
            colElev.Visible = true;
            colElev.VisibleIndex = 4;
            colElev.Width = 100;
            //
            // colMinorLoss
            //
            colMinorLoss.FieldName = "MinorLoss";
            colMinorLoss.MaxWidth = 100;
            colMinorLoss.MinWidth = 100;
            colMinorLoss.Name = "colMinorLoss";
            colMinorLoss.Visible = true;
            colMinorLoss.VisibleIndex = 5;
            colMinorLoss.Width = 100;
            //
            // colCoefficient
            //
            colCoefficient.FieldName = "Coefficient";
            colCoefficient.MaxWidth = 100;
            colCoefficient.MinWidth = 100;
            colCoefficient.Name = "colCoefficient";
            colCoefficient.Visible = true;
            colCoefficient.VisibleIndex = 6;
            colCoefficient.Width = 100;
            //
            // colDemand
            //
            colDemand.FieldName = "Demand";
            colDemand.MaxWidth = 100;
            colDemand.MinWidth = 100;
            colDemand.Name = "colDemand";
            colDemand.Visible = true;
            colDemand.VisibleIndex = 8;
            colDemand.Width = 100;
            //
            // colHasDb
            //
            colHasDb.FieldName = "HasDb";
            colHasDb.MaxWidth = 60;
            colHasDb.MinWidth = 60;
            colHasDb.Name = "colHasDb";
            colHasDb.Visible = true;
            colHasDb.VisibleIndex = 7;
            colHasDb.Width = 60;
            //
            // colFlagsString
            //
            colFlagsString.FieldName = "FlagsString";
            colFlagsString.MaxWidth = 200;
            colFlagsString.MinWidth = 100;
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 9;
            colFlagsString.Width = 100;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.MinWidth = 100;
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 10;
            colDescription.Width = 100;
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(btnReset);
            layoutControl1.Controls.Add(btnSet);
            layoutControl1.Controls.Add(btnSearch);
            layoutControl1.Controls.Add(txtName);
            layoutControl1.Controls.Add(txtModelType);
            layoutControl1.Controls.Add(txtCode);
            layoutControl1.Controls.Add(gridControl1);
            layoutControl1.Dock = DockStyle.Fill;
            layoutControl1.Location = new Point(0, 0);
            layoutControl1.Name = "layoutControl1";
            layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new Rectangle(1227, 184, 650, 400);
            layoutControl1.Root = Root;
            layoutControl1.Size = new Size(1091, 473);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // btnReset
            //
            btnReset.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Warning;
            btnReset.Appearance.Options.UseBackColor = true;
            btnReset.Location = new Point(714, 14);
            btnReset.Name = "btnReset";
            btnReset.Size = new Size(96, 22);
            btnReset.StyleController = layoutControl1;
            btnReset.TabIndex = 7;
            btnReset.Text = "重置";
            btnReset.Click += btnReset_Click;
            //
            // btnSet
            //
            btnSet.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Success;
            btnSet.Appearance.Options.UseBackColor = true;
            btnSet.Location = new Point(981, 14);
            btnSet.Name = "btnSet";
            btnSet.Size = new Size(96, 22);
            btnSet.StyleController = layoutControl1;
            btnSet.TabIndex = 6;
            btnSet.Text = "设置";
            btnSet.Click += btnSet_Click;
            //
            // btnSearch
            //
            btnSearch.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnSearch.Appearance.Options.UseBackColor = true;
            btnSearch.Location = new Point(614, 14);
            btnSearch.Name = "btnSearch";
            btnSearch.Size = new Size(96, 22);
            btnSearch.StyleController = layoutControl1;
            btnSearch.TabIndex = 5;
            btnSearch.Text = "查询";
            btnSearch.Click += btnSearch_Click;
            //
            // txtName
            //
            txtName.Location = new Point(54, 14);
            txtName.Name = "txtName";
            txtName.Properties.AutoHeight = false;
            txtName.Size = new Size(156, 22);
            txtName.StyleController = layoutControl1;
            txtName.TabIndex = 0;
            //
            // txtModelType
            //
            txtModelType.Location = new Point(454, 14);
            txtModelType.Name = "txtModelType";
            txtModelType.Properties.AutoHeight = false;
            txtModelType.Size = new Size(156, 22);
            txtModelType.StyleController = layoutControl1;
            txtModelType.TabIndex = 3;
            //
            // txtCode
            //
            txtCode.Location = new Point(254, 14);
            txtCode.Name = "txtCode";
            txtCode.Properties.AutoHeight = false;
            txtCode.Size = new Size(156, 22);
            txtCode.StyleController = layoutControl1;
            txtCode.TabIndex = 2;
            //
            // Root
            //
            Root.AppearanceItemCaption.Options.UseTextOptions = true;
            Root.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem1, groupForHead });
            Root.Name = "Root";
            Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
            Root.Size = new Size(1091, 473);
            Root.TextVisible = false;
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = gridControl1;
            layoutControlItem1.Location = new Point(0, 48);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(1091, 425);
            layoutControlItem1.TextSize = new Size(0, 0);
            layoutControlItem1.TextVisible = false;
            //
            // groupForHead
            //
            groupForHead.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem4, layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem5, layoutControlItem6, layoutControlItem7 });
            groupForHead.Location = new Point(0, 0);
            groupForHead.Name = "groupForHead";
            groupForHead.Size = new Size(1091, 48);
            groupForHead.Spacing = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 0);
            groupForHead.Text = "查询条件";
            groupForHead.TextVisible = false;
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtName;
            layoutControlItem4.Location = new Point(0, 0);
            layoutControlItem4.MaxSize = new Size(200, 26);
            layoutControlItem4.MinSize = new Size(200, 26);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(200, 26);
            layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem4.Text = "名称:";
            layoutControlItem4.TextSize = new Size(28, 14);
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = txtCode;
            layoutControlItem2.Location = new Point(200, 0);
            layoutControlItem2.MaxSize = new Size(200, 26);
            layoutControlItem2.MinSize = new Size(200, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(200, 26);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.Text = "编码:";
            layoutControlItem2.TextSize = new Size(28, 14);
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = txtModelType;
            layoutControlItem3.Location = new Point(400, 0);
            layoutControlItem3.MaxSize = new Size(200, 26);
            layoutControlItem3.MinSize = new Size(200, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(200, 26);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.Text = "型号:";
            layoutControlItem3.TextSize = new Size(28, 14);
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(800, 0);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(167, 26);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = btnSearch;
            layoutControlItem5.Location = new Point(600, 0);
            layoutControlItem5.MaxSize = new Size(100, 26);
            layoutControlItem5.MinSize = new Size(100, 26);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(100, 26);
            layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem5.TextSize = new Size(0, 0);
            layoutControlItem5.TextVisible = false;
            //
            // layoutControlItem6
            //
            layoutControlItem6.Control = btnSet;
            layoutControlItem6.Location = new Point(967, 0);
            layoutControlItem6.MaxSize = new Size(100, 26);
            layoutControlItem6.MinSize = new Size(100, 26);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(100, 26);
            layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem6.TextSize = new Size(0, 0);
            layoutControlItem6.TextVisible = false;
            //
            // layoutControlItem7
            //
            layoutControlItem7.Control = btnReset;
            layoutControlItem7.Location = new Point(700, 0);
            layoutControlItem7.MaxSize = new Size(100, 26);
            layoutControlItem7.MinSize = new Size(100, 26);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(100, 26);
            layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem7.TextSize = new Size(0, 0);
            layoutControlItem7.TextVisible = false;
            //
            // hydroNozzleBulkSetViewModelBindingSource
            //
            hydroNozzleBulkSetViewModelBindingSource.DataSource = typeof(HydroNozzleBulkSetViewModel);
            //
            // HydroNozzleBulkSetListCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "HydroNozzleBulkSetListCtrl";
            Size = new Size(1091, 473);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)gridView1).EndInit();
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtName.Properties).EndInit();
            ((ISupportInitialize)txtModelType.Properties).EndInit();
            ((ISupportInitialize)txtCode.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)groupForHead).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem6).EndInit();
            ((ISupportInitialize)layoutControlItem7).EndInit();
            ((ISupportInitialize)hydroNozzleBulkSetViewModelBindingSource).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraGrid.GridControl gridControl1;
        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
        private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
        private DevExpress.XtraGrid.Columns.GridColumn colName;
        private DevExpress.XtraGrid.Columns.GridColumn colCode;
        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
        private DevExpress.XtraGrid.Columns.GridColumn colHasDb;
        private DevExpress.XtraGrid.Columns.GridColumn colFlagsString;
        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraLayout.LayoutControlGroup Root;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
        private DevExpress.XtraEditors.SimpleButton btnSearch;
        private DevExpress.XtraEditors.TextEdit txtName;
        private DevExpress.XtraEditors.TextEdit txtModelType;
        private DevExpress.XtraEditors.TextEdit txtCode;
        private DevExpress.XtraLayout.LayoutControlGroup groupForHead;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
        private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraEditors.SimpleButton btnSet;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraEditors.SimpleButton btnReset;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraGrid.Columns.GridColumn colElev;
        private DevExpress.XtraGrid.Columns.GridColumn colMinorLoss;
        private DevExpress.XtraGrid.Columns.GridColumn colDemand;
        private DevExpress.XtraGrid.Columns.GridColumn colCoefficient;
        private BindingSource hydroNozzleBulkSetViewModelBindingSource;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,142 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTabbedMdi;
namespace Yw.WinFrmUI
{
    public partial class HydroNozzleBulkSetListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterBulkSetListCtrl
    {
        public HydroNozzleBulkSetListCtrl()
        {
            InitializeComponent();
            this.gridView1.SetNormalView(30);
            this.gridView1.RegistCustomDrawRowIndicator(40);
        }
        /// <summary>
        /// æ°´åŠ›ç‚¹å‡»äº‹ä»¶
        /// </summary>
        public event Action<Yw.Model.HydroParterInfo> HydroClickEvent;
        /// <summary>
        /// æ˜¯å¦æ‹¥æœ‰æ°´åˆ©åˆ—表
        /// </summary>
        public bool HasHydroList
        {
            get { return _allBindingList != null && _allBindingList.Count > 0; }
        }
        //所有列表
        private List<HydroNozzleBulkSetViewModel> _allList = null;
        //所有绑定列表
        private List<HydroNozzleBulkSetViewModel> _allBindingList = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroNozzleBulkSetViewModel>();
            if (hydroInfo != null && hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0)
            {
                foreach (var nozzle in hydroInfo.Nozzles)
                {
                    var vm = new HydroNozzleBulkSetViewModel(nozzle);
                    _allList.Add(vm);
                }
            }
            Search();
        }
        //查询
        private void Search()
        {
            if (_allList == null || _allList.Count < 1)
            {
                return;
            }
            var name = this.txtName.Text.Trim();
            var code = this.txtCode.Text.Trim();
            var modelType = this.txtModelType.Text.Trim();
            _allBindingList = _allList;
            if (!string.IsNullOrEmpty(name))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Name) && x.Name.Contains(name)).ToList();
            }
            if (!string.IsNullOrEmpty(code))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.Code) && x.Code.Contains(code)).ToList();
            }
            if (!string.IsNullOrEmpty(modelType))
            {
                _allBindingList = _allBindingList.Where(x => !string.IsNullOrEmpty(x.ModelType) && x.ModelType.Contains(modelType)).ToList();
            }
            this.hydroNozzleBulkSetViewModelBindingSource.DataSource = _allBindingList;
            this.hydroNozzleBulkSetViewModelBindingSource.ResetBindings(false);
        }
        //重置
        private void Reset()
        {
            this.txtName.EditValue = null;
            this.txtCode.EditValue = null;
            this.txtModelType.EditValue = null;
            Search();
        }
        //设置
        private void Set()
        {
            Search();
            if (_allBindingList == null || _allBindingList.Count < 1)
            {
                XtraMessageBox.Show("无可设置连接节点数据");
                return;
            }
            var dlg = new HydroNozzleBulkSetDlg();
            dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList());
            dlg.ReloadDataEvent += (list) =>
            {
                _allBindingList.ForEach(x =>
                {
                    x.Elev = x.Vmo.Elev;
                    x.MinorLoss = x.Vmo.MinorLoss;
                    x.Demand = x.Vmo.Demand;
                });
                this.hydroNozzleBulkSetViewModelBindingSource.DataSource = _allBindingList;
                this.hydroNozzleBulkSetViewModelBindingSource.ResetBindings(false);
            };
            dlg.ShowDialog();
        }
        //行点击事件
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroNozzleBulkSetViewModel;
            if (row == null)
            {
                return;
            }
            this.HydroClickEvent?.Invoke(row.Vmo);
        }
        //查询
        private void btnSearch_Click(object sender, EventArgs e)
        {
            Search();
        }
        //重置
        private void btnReset_Click(object sender, EventArgs e)
        {
            Reset();
        }
        //设置
        private void btnSet_Click(object sender, EventArgs e)
        {
            Set();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListCtrl.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <metadata name="hydroNozzleBulkSetViewModelBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    <value>17, 17</value>
  </metadata>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
namespace Yw.WinFrmUI
{
    partial class HydroNozzleBulkSetListDlg
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }
        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            hydroNozzleBulkSetListCtrl1 = new HydroNozzleBulkSetListCtrl();
            SuspendLayout();
            //
            // hydroNozzleBulkSetListCtrl1
            //
            hydroNozzleBulkSetListCtrl1.Dock = DockStyle.Fill;
            hydroNozzleBulkSetListCtrl1.Location = new Point(0, 0);
            hydroNozzleBulkSetListCtrl1.Name = "hydroNozzleBulkSetListCtrl1";
            hydroNozzleBulkSetListCtrl1.Size = new Size(1397, 449);
            hydroNozzleBulkSetListCtrl1.TabIndex = 0;
            //
            // HydroNozzleBulkSetListDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1397, 449);
            Controls.Add(hydroNozzleBulkSetListCtrl1);
            Name = "HydroNozzleBulkSetListDlg";
            Text = "喷嘴";
            ResumeLayout(false);
        }
        #endregion
        private HydroNozzleBulkSetListCtrl hydroNozzleBulkSetListCtrl1;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
using DevExpress.XtraEditors;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Yw.WinFrmUI
{
    public partial class HydroNozzleBulkSetListDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroNozzleBulkSetListDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetListDlg.resx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema
    Version 2.0
    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.
    Example:
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
    There are any number of "resheader" rows that contain simple
    name/value pairs.
    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.
    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:
    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.
    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/02-junction/02-emitter/02-nozzle/HydroNozzleBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroNozzleBulkSetViewModel : HydroEmitterBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroNozzleBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroNozzleBulkSetViewModel(Yw.Model.HydroNozzleInfo rhs) : base(rhs)
        {
            this.Vmo = rhs;
        }
        /// <summary>
        /// Vmo
        /// </summary>
        public new Yw.Model.HydroNozzleInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/03-link/00-core/HydroLinkBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroLinkBulkSetViewModel : HydroVisualBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroLinkBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroLinkBulkSetViewModel(Yw.Model.HydroLinkInfo rhs) : base(rhs)
        {
            this.StartCode = rhs.StartCode;
            this.EndCode = rhs.EndCode;
            this.LinkStatus = HydroLinkStatusHelper.GetStatusName(rhs.LinkStatus);
            this.Vmo = rhs;
        }
        /// <summary>
        /// ä¸Šæ¸¸èŠ‚ç‚¹
        /// </summary>
        [DisplayName("上游节点")]
        public string StartCode { get; set; }
        /// <summary>
        /// ä¸‹æ¸¸èŠ‚ç‚¹
        /// </summary>
        [DisplayName("下游节点")]
        public string EndCode { get; set; }
        /// <summary>
        /// ç®¡æ®µçŠ¶æ€
        /// </summary>
        [DisplayName("管段状态")]
        public virtual string LinkStatus { get; set; }
        /// <summary>
        /// Vmo
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroLinkInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/03-link/01-pipe/00-core/HydroPipeBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroPipeBulkSetViewModel : HydroLinkBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroPipeBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroPipeBulkSetViewModel(Yw.Model.HydroPipeInfo rhs) : base(rhs)
        {
            this.Material = rhs.Material;
            this.Diameter = rhs.Diameter;
            this.Length = Math.Round(rhs.Length, 4);
            this.Roughness = rhs.Roughness;
            this.MinorLoss = rhs.MinorLoss;
            this.Vmo = rhs;
        }
        /// <summary>
        /// ç®¡é“状态
        /// </summary>
        [DisplayName("管道状态")]
        public override string LinkStatus { get; set; }
        /// <summary>
        /// æè´¨
        /// </summary>
        [DisplayName("材质")]
        public string Material { get; set; }
        /// <summary>
        /// ç›´å¾„(mm)
        /// </summary>
        [DisplayName("直径(mm)")]
        public double Diameter { get; set; }
        /// <summary>
        /// é•¿åº¦ï¼ˆm)
        /// </summary>
        [DisplayName("长度(m)")]
        public double Length { get; set; }
        /// <summary>
        /// ç²—糙系数
        /// </summary>
        [DisplayName("粗糙系数")]
        public double Roughness { get; set; }
        /// <summary>
        /// å±€é˜»ç³»æ•°
        /// </summary>
        [DisplayName("局阻系数")]
        public double MinorLoss { get; set; }
        /// <summary>
        ///
        /// </summary>
        public new Yw.Model.HydroPipeInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroFourlinkBulkSetViewModel.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="HydroFourlinkBulkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
  <TypeInfo>Yw.WinFrmUI.HydroFourlinkBulkSetViewModel, Yw.WinFrmUI.Hydro.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroHydrantBulkSetViewModel.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="HydroHydrantBulkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
  <TypeInfo>Yw.WinFrmUI.HydroHydrantBulkSetViewModel, Yw.WinFrmUI.Hydro.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroNozzleBulkSetViewModel.datasource
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
    This file is automatically generated by Visual Studio. It is
    used to store generic object data source configuration information.
    Renaming the file extension or editing the content of this file may
    cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="HydroNozzleBulkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
  <TypeInfo>Yw.WinFrmUI.HydroNozzleBulkSetViewModel, Yw.WinFrmUI.Hydro.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj
@@ -157,6 +157,33 @@
    <Compile Update="12-bulkset\02-node\02-junction\01-coupling\03-threelink\HydroThreelinkBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\01-coupling\04-fourlink\HydroFourlinkBulkSetListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\01-coupling\04-fourlink\HydroFourlinkBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\01-coupling\04-fourlink\HydroFourlinkBulkSetListDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\01-hydrant\HydroHydrantBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\01-hydrant\HydroHydrantBulkSetListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\01-hydrant\HydroHydrantBulkSetListDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\02-nozzle\HydroNozzleBulkSetListDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\02-nozzle\HydroNozzleBulkSetListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\02-junction\02-emitter\02-nozzle\HydroNozzleBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="Properties\Resources.Designer.cs">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
@@ -169,10 +196,6 @@
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="12-bulkset\03-link\" />
  </ItemGroup>
</Project>