lixiaojun
2024-10-23 1184386ca33fb4ae86ce324fcaaf993fa738ef07
导入RevitModel
已修改4个文件
已添加24个文件
3031 ■■■■■ 文件已修改
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/00-core/HydroParterBulkSetViewModel.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/00-core/IHydroParterBulkSetListCtrl.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/01-visual/HydroVisualBulkSetViewModel.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/00-core/HydroNodeBulkSetViewModel.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/00-core/HydroSourceBulkSetViewModel.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.Designer.cs 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.Designer.cs 443 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.cs 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListDlg.Designer.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListDlg.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListDlg.resx 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetViewModel.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.Designer.cs 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.Designer.cs 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.cs 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.resx 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetViewModel.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroReservoirBulkSetViewModel.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroTankBulkSetViewModel.datasource 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectHelper.cs
@@ -211,6 +211,8 @@
                return true;
            }
            vm.RevitModel = structRevitModel;
            var hydroInfo = HStation.Hydro.TransferHelper.FromRevit(structRevitModel, out msg);
            if (hydroInfo == null)
            {
@@ -229,6 +231,7 @@
                return true;
            }
            feedBackMsg?.Invoke("正在进行产品匹配...", Color.Black);
            hydroInfo = await BLLFactory<Yw.BLL.HydroModelInfo>.Instance.GetByID(hydroId);
            var matchingParas = AssetsMatchingParasHelper.Create(hydroInfo, null);
WinFrmUI/HStation.WinFrmUI.Xhs.Core/02-project/01-import/00-core/ImportXhsProjectViewModel.cs
@@ -66,6 +66,11 @@
        #region ç¬¬å››æ­¥è‡ªåŠ¨ç”Ÿæˆé¡¹ç›®
        /// <summary>
        ///
        /// </summary>
        public HStation.Model.RevitModel RevitModel { get; set; }
        /// <summary>
        /// æ°´åŠ›æ¨¡åž‹id
        /// </summary>
        public long? HydroID { get; set; }
@@ -110,10 +115,6 @@
        /// </summary>
        public bool BimfaceConverted { get; set; }
        /// <summary>
        /// æ˜¯å¦å‘布
        /// </summary>
        public bool IsPublished { get; set; }
        #endregion
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/00-core/HydroParterBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// ç»„ä»¶ViewModel
    /// </summary>
    public class HydroParterBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroParterBulkSetViewModel() { }
        /// <summary>
        ///
        /// </summary>
        public HydroParterBulkSetViewModel(Yw.Model.HydroParterInfo rhs)
        {
            this.ID = rhs.ID;
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Code = rhs.Code;
            this.Name = rhs.Name;
            this.ModelType = rhs.ModelType;
            this.HasDb = !string.IsNullOrEmpty(rhs.DbId);
            this.DbLocked = rhs.DbLocked;
            this.FlagsString = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.Description = rhs.Description;
            this.Vmo = rhs;
        }
        /// <summary>
        /// id
        /// </summary>
        [DisplayName("ID")]
        [Display(Name = "ID")]
        public long ID { get; set; }
        /// <summary>
        /// åˆ†ç±»
        /// </summary>
        [DisplayName("分类")]
        [Display(Name = "分类")]
        public string Catalog { get; set; }
        /// <summary>
        /// ç¼–码
        /// </summary>
        [DisplayName("编码")]
        [Display(Name = "编码")]
        public string Code { get; set; }
        /// <summary>
        /// åç§°
        /// </summary>
        [DisplayName("名称")]
        [Display(Name = "名称")]
        public string Name { get; set; }
        /// <summary>
        /// åž‹å·
        /// </summary>
        [DisplayName("型号")]
        [Display(Name = "型号")]
        public string ModelType { get; set; }
        /// <summary>
        /// åŒ¹é…
        /// </summary>
        [DisplayName("匹配")]
        [Display(Name = "匹配")]
        public bool HasDb { get; set; }
        /// <summary>
        /// é”å®š
        /// </summary>
        [DisplayName("锁定")]
        [Display(Name = "锁定")]
        public bool DbLocked { get; set; }
        /// <summary>
        /// æ ‡ç­¾
        /// </summary>
        [DisplayName("标签")]
        [Display(Name = "标签")]
        public string FlagsString { get; set; }
        /// <summary>
        /// è¯´æ˜Ž
        /// </summary>
        [DisplayName("说明")]
        [Display(Name = "说明")]
        public string Description { get; set; }
        /// <summary>
        /// Vmo
        /// </summary>
        [Browsable(false)]
        public Yw.Model.HydroParterInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/00-core/IHydroParterBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public interface IHydroParterBulkSetListCtrl
    {
        /// <summary>
        /// æ°´åŠ›ç‚¹å‡»äº‹ä»¶
        /// </summary>
        event Action<Yw.Model.HydroParterInfo> HydroClickEvent;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        void SetBindingData(Yw.Model.HydroModelInfo hydroInfo);
        /// <summary>
        /// æ˜¯å¦æœ‰æ°´åˆ©åˆ—表
        /// </summary>
        bool HasHydroList { get; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/01-visual/HydroVisualBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    /// å¯è§ç»„ä»¶
    /// </summary>
    public class HydroVisualBulkSetViewModel : HydroParterBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroVisualBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroVisualBulkSetViewModel(Yw.Model.HydroVisualInfo rhs) : base(rhs)
        {
            this.Vmo = rhs;
        }
        /// <summary>
        /// Vmo
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroVisualInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/00-core/HydroNodeBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroNodeBulkSetViewModel : HydroVisualBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroNodeBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroNodeBulkSetViewModel(Yw.Model.HydroNodeInfo rhs) : base(rhs)
        {
            this.Quality = rhs.Quality;
            this.Vmo = rhs;
        }
        /// <summary>
        /// åˆå§‹æ°´è´¨
        /// </summary>
        [DisplayName("初始水质")]
        [Display(Name = "初始水质")]
        public double Quality { get; set; }
        /// <summary>
        /// Vmo
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroNodeInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/00-core/HydroSourceBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroSourceBulkSetViewModel : HydroNodeBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroSourceBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroSourceBulkSetViewModel(Yw.Model.HydroSourceInfo rhs)
        {
            this.Vmo = rhs;
        }
        /// <summary>
        ///
        /// </summary>
        public new Yw.Model.HydroSourceInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,207 @@
namespace Yw.WinFrmUI
{
    partial class HydroReservoirBulkSetDlg
    {
        /// <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();
            txtHead = 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();
            simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtHead.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)simpleLabelItem1).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            SuspendLayout();
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(txtHead);
            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(322, 88);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtHead
            //
            txtHead.Location = new Point(64, 20);
            txtHead.Name = "txtHead";
            txtHead.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtHead.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtHead.Size = new Size(232, 20);
            txtHead.StyleController = layoutControl1;
            txtHead.TabIndex = 0;
            //
            // btnOk
            //
            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnOk.Appearance.Options.UseBackColor = true;
            btnOk.Location = new Point(136, 52);
            btnOk.Name = "btnOk";
            btnOk.Size = new Size(85, 22);
            btnOk.StyleController = layoutControl1;
            btnOk.TabIndex = 2;
            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(225, 52);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(85, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 3;
            btnCancel.Text = "取消";
            //
            // Root
            //
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem1, simpleLabelItem1 });
            Root.Name = "Root";
            Root.Size = new Size(322, 88);
            Root.TextVisible = false;
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = btnCancel;
            layoutControlItem2.Location = new Point(213, 40);
            layoutControlItem2.MaxSize = new Size(89, 26);
            layoutControlItem2.MinSize = new Size(89, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(89, 28);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = btnOk;
            layoutControlItem3.Location = new Point(124, 40);
            layoutControlItem3.MaxSize = new Size(89, 26);
            layoutControlItem3.MinSize = new Size(89, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(89, 28);
            layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem3.TextSize = new Size(0, 0);
            layoutControlItem3.TextVisible = false;
            //
            // emptySpaceItem1
            //
            emptySpaceItem1.AllowHotTrack = false;
            emptySpaceItem1.Location = new Point(0, 40);
            emptySpaceItem1.Name = "emptySpaceItem1";
            emptySpaceItem1.Size = new Size(124, 28);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = txtHead;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 10, 10);
            layoutControlItem1.Size = new Size(288, 40);
            layoutControlItem1.Text = "总水头:";
            layoutControlItem1.TextSize = new Size(40, 14);
            //
            // simpleLabelItem1
            //
            simpleLabelItem1.AllowHotTrack = false;
            simpleLabelItem1.Location = new Point(288, 0);
            simpleLabelItem1.MaxSize = new Size(14, 0);
            simpleLabelItem1.MinSize = new Size(14, 18);
            simpleLabelItem1.Name = "simpleLabelItem1";
            simpleLabelItem1.Size = new Size(14, 40);
            simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            simpleLabelItem1.Text = "m";
            simpleLabelItem1.TextSize = new Size(40, 14);
            //
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // HydroReservoirBulkSetDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(322, 88);
            Controls.Add(layoutControl1);
            MaximizeBox = false;
            Name = "HydroReservoirBulkSetDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "设置";
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtHead.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)simpleLabelItem1).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.TextEdit txtHead;
        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.XtraLayout.SimpleLabelItem simpleLabelItem1;
        private DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider dxErrorProvider1;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
namespace Yw.WinFrmUI
{
    public partial class HydroReservoirBulkSetDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroReservoirBulkSetDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        public event Action<List<Yw.Model.HydroReservoirInfo>> ReloadDataEvent;
        private List<Yw.Model.HydroReservoirInfo> _allReservoirList = null;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroReservoirInfo> allReservoirList)
        {
            _allReservoirList = allReservoirList;
            if (_allReservoirList != null && _allReservoirList.Count == 1)
            {
                this.txtHead.EditValue = _allReservoirList.First().Head;
            }
        }
        //验证
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (string.IsNullOrEmpty(this.txtHead.Text.Trim()))
            {
                this.dxErrorProvider1.SetError(this.txtHead, "必填项");
                return false;
            }
            return true;
        }
        //
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (_allReservoirList == null || _allReservoirList.Count < 1)
            {
                return;
            }
            if (!Valid())
            {
                return;
            }
            var head = double.Parse(this.txtHead.Text.Trim());
            _allReservoirList.ForEach(x => x.Head = head);
            this.ReloadDataEvent?.Invoke(_allReservoirList);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetDlg.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/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,443 @@
namespace Yw.WinFrmUI
{
    partial class HydroReservoirBulkSetListCtrl
    {
        /// <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();
            hydroReservoirBulkSetViewModelBindingSource = new BindingSource(components);
            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();
            colPoolElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colHead = 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();
            ((ISupportInitialize)gridControl1).BeginInit();
            ((ISupportInitialize)hydroReservoirBulkSetViewModelBindingSource).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();
            SuspendLayout();
            //
            // gridControl1
            //
            gridControl1.DataSource = hydroReservoirBulkSetViewModelBindingSource;
            gridControl1.Location = new Point(2, 50);
            gridControl1.MainView = gridView1;
            gridControl1.Name = "gridControl1";
            gridControl1.Size = new Size(1054, 421);
            gridControl1.TabIndex = 4;
            gridControl1.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { gridView1 });
            //
            // hydroReservoirBulkSetViewModelBindingSource
            //
            hydroReservoirBulkSetViewModelBindingSource.DataSource = typeof(HydroReservoirBulkSetViewModel);
            //
            // gridView1
            //
            gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { colDbLocked, colName, colCode, colModelType, colPoolElev, colHead, 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;
            //
            // colPoolElev
            //
            colPoolElev.FieldName = "PoolElev";
            colPoolElev.MaxWidth = 100;
            colPoolElev.MinWidth = 100;
            colPoolElev.Name = "colPoolElev";
            colPoolElev.Visible = true;
            colPoolElev.VisibleIndex = 4;
            colPoolElev.Width = 100;
            //
            // colHead
            //
            colHead.FieldName = "Head";
            colHead.MaxWidth = 100;
            colHead.MinWidth = 100;
            colHead.Name = "colHead";
            colHead.Visible = true;
            colHead.VisibleIndex = 5;
            colHead.Width = 100;
            //
            // colHasDb
            //
            colHasDb.FieldName = "HasDb";
            colHasDb.MaxWidth = 60;
            colHasDb.MinWidth = 60;
            colHasDb.Name = "colHasDb";
            colHasDb.Visible = true;
            colHasDb.VisibleIndex = 6;
            colHasDb.Width = 60;
            //
            // colFlagsString
            //
            colFlagsString.FieldName = "FlagsString";
            colFlagsString.MaxWidth = 200;
            colFlagsString.MinWidth = 100;
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 7;
            colFlagsString.Width = 100;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.MinWidth = 100;
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 8;
            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(1058, 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(948, 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(1058, 473);
            Root.TextVisible = false;
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = gridControl1;
            layoutControlItem1.Location = new Point(0, 48);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(1058, 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(1058, 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(134, 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(934, 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;
            //
            // HydroReservoirBulkSetListCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "HydroReservoirBulkSetListCtrl";
            Size = new Size(1058, 473);
            ((ISupportInitialize)gridControl1).EndInit();
            ((ISupportInitialize)hydroReservoirBulkSetViewModelBindingSource).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();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraGrid.GridControl gridControl1;
        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
        private BindingSource hydroReservoirBulkSetViewModelBindingSource;
        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 colPoolElev;
        private DevExpress.XtraGrid.Columns.GridColumn colHead;
        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;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,137 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTabbedMdi;
namespace Yw.WinFrmUI
{
    public partial class HydroReservoirBulkSetListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterBulkSetListCtrl
    {
        public HydroReservoirBulkSetListCtrl()
        {
            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<HydroReservoirBulkSetViewModel> _allList = null;
        //所有绑定列表
        private List<HydroReservoirBulkSetViewModel> _allBindingList = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroReservoirBulkSetViewModel>();
            if (hydroInfo != null && hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0)
            {
                foreach (var reservoir in hydroInfo.Reservoirs)
                {
                    var vm = new HydroReservoirBulkSetViewModel(reservoir);
                    _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.hydroReservoirBulkSetViewModelBindingSource.DataSource = _allBindingList;
            this.hydroReservoirBulkSetViewModelBindingSource.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 HydroReservoirBulkSetDlg();
            dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList());
            dlg.ReloadDataEvent += (list) =>
            {
                _allBindingList.ForEach(x => x.Head = x.Vmo.Head);
                this.hydroReservoirBulkSetViewModelBindingSource.DataSource = _allBindingList;
                this.hydroReservoirBulkSetViewModelBindingSource.ResetBindings(false);
            };
            dlg.ShowDialog();
        }
        //行点击事件
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroReservoirBulkSetViewModel;
            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/01-source/01-reservoir/HydroReservoirBulkSetListCtrl.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="hydroReservoirBulkSetViewModelBindingSource.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/01-source/01-reservoir/HydroReservoirBulkSetListDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
namespace Yw.WinFrmUI
{
    partial class HydroReservoirBulkSetListDlg
    {
        /// <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()
        {
            hydroReservoirBulkSetListCtrl1 = new HydroReservoirBulkSetListCtrl();
            SuspendLayout();
            //
            // hydroReservoirBulkSetListCtrl1
            //
            hydroReservoirBulkSetListCtrl1.Dock = DockStyle.Fill;
            hydroReservoirBulkSetListCtrl1.Location = new Point(0, 0);
            hydroReservoirBulkSetListCtrl1.Name = "hydroReservoirBulkSetListCtrl1";
            hydroReservoirBulkSetListCtrl1.Size = new Size(1080, 417);
            hydroReservoirBulkSetListCtrl1.TabIndex = 0;
            //
            // HydroReservoirBulkSetListDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(1080, 417);
            Controls.Add(hydroReservoirBulkSetListCtrl1);
            Name = "HydroReservoirBulkSetListDlg";
            Text = "水库";
            ResumeLayout(false);
        }
        #endregion
        private HydroReservoirBulkSetListCtrl hydroReservoirBulkSetListCtrl1;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListDlg.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 HydroReservoirBulkSetListDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroReservoirBulkSetListDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/01-reservoir/HydroReservoirBulkSetListDlg.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/01-source/01-reservoir/HydroReservoirBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroReservoirBulkSetViewModel : HydroSourceBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroReservoirBulkSetViewModel() : base() { }
        /// <summary>
        ///
        /// </summary>
        public HydroReservoirBulkSetViewModel(Yw.Model.HydroReservoirInfo rhs) : base(rhs)
        {
            this.PoolElev = rhs.PoolElev.HasValue ? Math.Round(rhs.PoolElev.Value, 4) : null;
            this.Head = Math.Round(rhs.Head, 4);
            this.HeadPattern = rhs.HeadPattern;
            this.Vmo = rhs;
        }
        /// <summary>
        /// æ± åº•标高
        /// </summary>
        [DisplayName("池底标高(m)")]
        public double? PoolElev { get; set; }
        /// <summary>
        /// æ€»æ°´å¤´
        /// </summary>
        [DisplayName("总水头(m)")]
        public double? Head { get; set; }
        /// <summary>
        /// æ°´å¤´æ¨¡å¼
        /// </summary>
        [DisplayName("水头模式")]
        public string HeadPattern { get; set; }
        /// <summary>
        ///
        /// </summary>
        public new Yw.Model.HydroReservoirInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,345 @@
namespace Yw.WinFrmUI
{
    partial class HydroTankBulkSetDlg
    {
        /// <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();
            txtMaxLevel = new DevExpress.XtraEditors.TextEdit();
            txtMinLevel = new DevExpress.XtraEditors.TextEdit();
            txtInitLevel = new DevExpress.XtraEditors.TextEdit();
            txtPoolElev = 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();
            layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
            layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
            dxErrorProvider1 = new DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(components);
            txtDN = new DevExpress.XtraEditors.TextEdit();
            layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
            ckOverFlow = new DevExpress.XtraEditors.CheckEdit();
            layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
            ((ISupportInitialize)layoutControl1).BeginInit();
            layoutControl1.SuspendLayout();
            ((ISupportInitialize)txtMaxLevel.Properties).BeginInit();
            ((ISupportInitialize)txtMinLevel.Properties).BeginInit();
            ((ISupportInitialize)txtInitLevel.Properties).BeginInit();
            ((ISupportInitialize)txtPoolElev.Properties).BeginInit();
            ((ISupportInitialize)Root).BeginInit();
            ((ISupportInitialize)layoutControlItem2).BeginInit();
            ((ISupportInitialize)layoutControlItem3).BeginInit();
            ((ISupportInitialize)emptySpaceItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem1).BeginInit();
            ((ISupportInitialize)layoutControlItem4).BeginInit();
            ((ISupportInitialize)layoutControlItem5).BeginInit();
            ((ISupportInitialize)layoutControlItem6).BeginInit();
            ((ISupportInitialize)dxErrorProvider1).BeginInit();
            ((ISupportInitialize)txtDN.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem7).BeginInit();
            ((ISupportInitialize)ckOverFlow.Properties).BeginInit();
            ((ISupportInitialize)layoutControlItem8).BeginInit();
            SuspendLayout();
            //
            // layoutControl1
            //
            layoutControl1.Controls.Add(ckOverFlow);
            layoutControl1.Controls.Add(txtDN);
            layoutControl1.Controls.Add(txtMaxLevel);
            layoutControl1.Controls.Add(txtMinLevel);
            layoutControl1.Controls.Add(txtInitLevel);
            layoutControl1.Controls.Add(txtPoolElev);
            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(379, 121);
            layoutControl1.TabIndex = 1;
            layoutControl1.Text = "layoutControl1";
            //
            // txtMaxLevel
            //
            txtMaxLevel.Location = new Point(255, 36);
            txtMaxLevel.Name = "txtMaxLevel";
            txtMaxLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtMaxLevel.Properties.DisplayFormat.FormatString = "{0}m";
            txtMaxLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtMaxLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtMaxLevel.Properties.NullValuePrompt = "m";
            txtMaxLevel.Size = new Size(112, 20);
            txtMaxLevel.StyleController = layoutControl1;
            txtMaxLevel.TabIndex = 4;
            //
            // txtMinLevel
            //
            txtMinLevel.Location = new Point(76, 36);
            txtMinLevel.Name = "txtMinLevel";
            txtMinLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtMinLevel.Properties.DisplayFormat.FormatString = "{0}m";
            txtMinLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtMinLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtMinLevel.Properties.NullValuePrompt = "m";
            txtMinLevel.Size = new Size(111, 20);
            txtMinLevel.StyleController = layoutControl1;
            txtMinLevel.TabIndex = 3;
            //
            // txtInitLevel
            //
            txtInitLevel.Location = new Point(255, 12);
            txtInitLevel.Name = "txtInitLevel";
            txtInitLevel.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtInitLevel.Properties.DisplayFormat.FormatString = "{0}m";
            txtInitLevel.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtInitLevel.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtInitLevel.Properties.NullValuePrompt = "m";
            txtInitLevel.Size = new Size(112, 20);
            txtInitLevel.StyleController = layoutControl1;
            txtInitLevel.TabIndex = 2;
            //
            // txtPoolElev
            //
            txtPoolElev.Location = new Point(76, 12);
            txtPoolElev.Name = "txtPoolElev";
            txtPoolElev.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtPoolElev.Properties.DisplayFormat.FormatString = "{0}m";
            txtPoolElev.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtPoolElev.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtPoolElev.Properties.NullValuePrompt = "m";
            txtPoolElev.Size = new Size(111, 20);
            txtPoolElev.StyleController = layoutControl1;
            txtPoolElev.TabIndex = 0;
            //
            // btnOk
            //
            btnOk.Appearance.BackColor = DevExpress.LookAndFeel.DXSkinColors.FillColors.Primary;
            btnOk.Appearance.Options.UseBackColor = true;
            btnOk.Location = new Point(193, 84);
            btnOk.Name = "btnOk";
            btnOk.Size = new Size(85, 22);
            btnOk.StyleController = layoutControl1;
            btnOk.TabIndex = 2;
            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(282, 84);
            btnCancel.Name = "btnCancel";
            btnCancel.Size = new Size(85, 22);
            btnCancel.StyleController = layoutControl1;
            btnCancel.TabIndex = 3;
            btnCancel.Text = "取消";
            //
            // Root
            //
            Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
            Root.GroupBordersVisible = false;
            Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { layoutControlItem2, layoutControlItem3, emptySpaceItem1, layoutControlItem1, layoutControlItem5, layoutControlItem7, layoutControlItem4, layoutControlItem6, layoutControlItem8 });
            Root.Name = "Root";
            Root.Size = new Size(379, 121);
            Root.TextVisible = false;
            //
            // layoutControlItem2
            //
            layoutControlItem2.Control = btnCancel;
            layoutControlItem2.Location = new Point(270, 72);
            layoutControlItem2.MaxSize = new Size(89, 26);
            layoutControlItem2.MinSize = new Size(89, 26);
            layoutControlItem2.Name = "layoutControlItem2";
            layoutControlItem2.Size = new Size(89, 29);
            layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
            layoutControlItem2.TextSize = new Size(0, 0);
            layoutControlItem2.TextVisible = false;
            //
            // layoutControlItem3
            //
            layoutControlItem3.Control = btnOk;
            layoutControlItem3.Location = new Point(181, 72);
            layoutControlItem3.MaxSize = new Size(89, 26);
            layoutControlItem3.MinSize = new Size(89, 26);
            layoutControlItem3.Name = "layoutControlItem3";
            layoutControlItem3.Size = new Size(89, 29);
            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(181, 29);
            emptySpaceItem1.TextSize = new Size(0, 0);
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = txtPoolElev;
            layoutControlItem1.Location = new Point(0, 0);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(179, 24);
            layoutControlItem1.Text = "池底标高:";
            layoutControlItem1.TextSize = new Size(52, 14);
            //
            // layoutControlItem4
            //
            layoutControlItem4.Control = txtInitLevel;
            layoutControlItem4.Location = new Point(179, 0);
            layoutControlItem4.Name = "layoutControlItem4";
            layoutControlItem4.Size = new Size(180, 24);
            layoutControlItem4.Text = "初始水位:";
            layoutControlItem4.TextSize = new Size(52, 14);
            //
            // layoutControlItem5
            //
            layoutControlItem5.Control = txtMinLevel;
            layoutControlItem5.Location = new Point(0, 24);
            layoutControlItem5.Name = "layoutControlItem5";
            layoutControlItem5.Size = new Size(179, 24);
            layoutControlItem5.Text = "最低水位:";
            layoutControlItem5.TextSize = new Size(52, 14);
            //
            // layoutControlItem6
            //
            layoutControlItem6.Control = txtMaxLevel;
            layoutControlItem6.Location = new Point(179, 24);
            layoutControlItem6.Name = "layoutControlItem6";
            layoutControlItem6.Size = new Size(180, 24);
            layoutControlItem6.Text = "最高水位:";
            layoutControlItem6.TextSize = new Size(52, 14);
            //
            // dxErrorProvider1
            //
            dxErrorProvider1.ContainerControl = this;
            //
            // txtDN
            //
            txtDN.Location = new Point(76, 60);
            txtDN.Name = "txtDN";
            txtDN.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
            txtDN.Properties.DisplayFormat.FormatString = "{0}m";
            txtDN.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
            txtDN.Properties.MaskSettings.Set("MaskManagerType", typeof(DevExpress.Data.Mask.NumericMaskManager));
            txtDN.Properties.NullValuePrompt = "m";
            txtDN.Size = new Size(111, 20);
            txtDN.StyleController = layoutControl1;
            txtDN.TabIndex = 5;
            //
            // layoutControlItem7
            //
            layoutControlItem7.Control = txtDN;
            layoutControlItem7.Location = new Point(0, 48);
            layoutControlItem7.Name = "layoutControlItem7";
            layoutControlItem7.Size = new Size(179, 24);
            layoutControlItem7.Text = "公称直径:";
            layoutControlItem7.TextSize = new Size(52, 14);
            //
            // ckAllowFlow
            //
            ckOverFlow.Location = new Point(255, 60);
            ckOverFlow.Name = "ckAllowFlow";
            ckOverFlow.Properties.AutoWidth = true;
            ckOverFlow.Properties.Caption = "";
            ckOverFlow.Size = new Size(20, 20);
            ckOverFlow.StyleController = layoutControl1;
            ckOverFlow.TabIndex = 6;
            //
            // layoutControlItem8
            //
            layoutControlItem8.Control = ckOverFlow;
            layoutControlItem8.Location = new Point(179, 48);
            layoutControlItem8.Name = "layoutControlItem8";
            layoutControlItem8.Size = new Size(180, 24);
            layoutControlItem8.Text = "允许溢流:";
            layoutControlItem8.TextSize = new Size(52, 14);
            //
            // HydroTankBulkSetDlg
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(379, 121);
            Controls.Add(layoutControl1);
            MaximizeBox = false;
            Name = "HydroTankBulkSetDlg";
            StartPosition = FormStartPosition.CenterParent;
            Text = "设置";
            ((ISupportInitialize)layoutControl1).EndInit();
            layoutControl1.ResumeLayout(false);
            ((ISupportInitialize)txtMaxLevel.Properties).EndInit();
            ((ISupportInitialize)txtMinLevel.Properties).EndInit();
            ((ISupportInitialize)txtInitLevel.Properties).EndInit();
            ((ISupportInitialize)txtPoolElev.Properties).EndInit();
            ((ISupportInitialize)Root).EndInit();
            ((ISupportInitialize)layoutControlItem2).EndInit();
            ((ISupportInitialize)layoutControlItem3).EndInit();
            ((ISupportInitialize)emptySpaceItem1).EndInit();
            ((ISupportInitialize)layoutControlItem1).EndInit();
            ((ISupportInitialize)layoutControlItem4).EndInit();
            ((ISupportInitialize)layoutControlItem5).EndInit();
            ((ISupportInitialize)layoutControlItem6).EndInit();
            ((ISupportInitialize)dxErrorProvider1).EndInit();
            ((ISupportInitialize)txtDN.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem7).EndInit();
            ((ISupportInitialize)ckOverFlow.Properties).EndInit();
            ((ISupportInitialize)layoutControlItem8).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraLayout.LayoutControl layoutControl1;
        private DevExpress.XtraEditors.TextEdit txtPoolElev;
        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 txtMaxLevel;
        private DevExpress.XtraEditors.TextEdit txtMinLevel;
        private DevExpress.XtraEditors.TextEdit txtInitLevel;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
        private DevExpress.XtraEditors.CheckEdit ckOverFlow;
        private DevExpress.XtraEditors.TextEdit txtDN;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
        private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,97 @@
namespace Yw.WinFrmUI
{
    public partial class HydroTankBulkSetDlg : DevExpress.XtraEditors.XtraForm
    {
        public HydroTankBulkSetDlg()
        {
            InitializeComponent();
            this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
        }
        public event Action<List<Yw.Model.HydroTankInfo>> ReloadDataEvent;
        private List<Yw.Model.HydroTankInfo> _allTankList = null;
        /// <summary>
        ///
        /// </summary>
        public void SetBindingData(List<Yw.Model.HydroTankInfo> allTankList)
        {
            _allTankList = allTankList;
            if (_allTankList != null && _allTankList.Count == 1)
            {
                var tank = _allTankList.First();
                this.txtPoolElev.EditValue = tank.PoolElev;
                this.txtInitLevel.EditValue = tank.InitLevel;
                this.txtMinLevel.EditValue = tank.MinLevel;
                this.txtMaxLevel.EditValue = tank.MaxLevel;
                this.txtDN.EditValue = tank.DN;
                this.ckOverFlow.Checked = tank.OverFlow;
            }
        }
        //验证
        private bool Valid()
        {
            this.dxErrorProvider1.ClearErrors();
            if (this.txtPoolElev.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtPoolElev, "必填项");
                return false;
            }
            if (this.txtInitLevel.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtInitLevel, "必填项");
                return false;
            }
            if (this.txtMinLevel.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtMinLevel, "必填项");
                return false;
            }
            if (this.txtMaxLevel.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtMaxLevel, "必填项");
                return false;
            }
            if (this.txtDN.EditValue == null)
            {
                this.dxErrorProvider1.SetError(this.txtDN, "必填项");
                return false;
            }
            return true;
        }
        //
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (_allTankList == null || _allTankList.Count < 1)
            {
                return;
            }
            if (!Valid())
            {
                return;
            }
            var poolElev = double.Parse(this.txtPoolElev.EditValue.ToString());
            var initLevel = double.Parse(this.txtInitLevel.EditValue.ToString());
            var minLevel = double.Parse(this.txtMinLevel.EditValue.ToString());
            var maxLevel = double.Parse(this.txtMaxLevel.EditValue.ToString());
            var dn = double.Parse(this.txtDN.EditValue.ToString());
            var overFlow = this.ckOverFlow.Checked;
            _allTankList.ForEach(x =>
            {
                x.PoolElev = poolElev;
                x.InitLevel = initLevel;
                x.MinLevel = minLevel;
                x.MaxLevel = maxLevel;
                x.DN = dn;
                x.OverFlow = overFlow;
            });
            this.ReloadDataEvent?.Invoke(_allTankList);
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetDlg.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/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.Designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,504 @@
namespace Yw.WinFrmUI
{
    partial class HydroTankBulkSetListCtrl
    {
        /// <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();
            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();
            hydroTankBulkSetViewModelBindingSource = new BindingSource(components);
            colPoolElev = new DevExpress.XtraGrid.Columns.GridColumn();
            colInitLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colMaxLevel = new DevExpress.XtraGrid.Columns.GridColumn();
            colDN = new DevExpress.XtraGrid.Columns.GridColumn();
            colMinVol = new DevExpress.XtraGrid.Columns.GridColumn();
            colOverFlow = new DevExpress.XtraGrid.Columns.GridColumn();
            colCode = new DevExpress.XtraGrid.Columns.GridColumn();
            colName = new DevExpress.XtraGrid.Columns.GridColumn();
            colModelType = new DevExpress.XtraGrid.Columns.GridColumn();
            colHasDb = new DevExpress.XtraGrid.Columns.GridColumn();
            colDbLocked = new DevExpress.XtraGrid.Columns.GridColumn();
            colFlagsString = new DevExpress.XtraGrid.Columns.GridColumn();
            colDescription = 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)hydroTankBulkSetViewModelBindingSource).BeginInit();
            SuspendLayout();
            //
            // gridControl1
            //
            gridControl1.DataSource = hydroTankBulkSetViewModelBindingSource;
            gridControl1.Location = new Point(2, 50);
            gridControl1.MainView = gridView1;
            gridControl1.Name = "gridControl1";
            gridControl1.Size = new Size(1377, 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, colPoolElev, colInitLevel, colMinLevel, colMaxLevel, colDN, colMinVol, colOverFlow, colModelType, colHasDb, colFlagsString, colDescription });
            gridView1.GridControl = gridControl1;
            gridView1.Name = "gridView1";
            gridView1.SortInfo.AddRange(new DevExpress.XtraGrid.Columns.GridColumnSortInfo[] { new DevExpress.XtraGrid.Columns.GridColumnSortInfo(colInitLevel, DevExpress.Data.ColumnSortOrder.Ascending) });
            gridView1.RowClick += gridView1_RowClick;
            //
            // 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(1381, 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(1271, 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(1381, 473);
            Root.TextVisible = false;
            //
            // layoutControlItem1
            //
            layoutControlItem1.Control = gridControl1;
            layoutControlItem1.Location = new Point(0, 48);
            layoutControlItem1.Name = "layoutControlItem1";
            layoutControlItem1.Size = new Size(1381, 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(1381, 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(457, 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(1257, 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;
            //
            // hydroTankBulkSetViewModelBindingSource
            //
            hydroTankBulkSetViewModelBindingSource.DataSource = typeof(HydroTankBulkSetViewModel);
            //
            // colPoolElev
            //
            colPoolElev.FieldName = "PoolElev";
            colPoolElev.MaxWidth = 100;
            colPoolElev.MinWidth = 100;
            colPoolElev.Name = "colPoolElev";
            colPoolElev.Visible = true;
            colPoolElev.VisibleIndex = 4;
            colPoolElev.Width = 100;
            //
            // colInitLevel
            //
            colInitLevel.FieldName = "InitLevel";
            colInitLevel.MaxWidth = 100;
            colInitLevel.MinWidth = 100;
            colInitLevel.Name = "colInitLevel";
            colInitLevel.Visible = true;
            colInitLevel.VisibleIndex = 5;
            colInitLevel.Width = 100;
            //
            // colMinLevel
            //
            colMinLevel.FieldName = "MinLevel";
            colMinLevel.MaxWidth = 100;
            colMinLevel.MinWidth = 100;
            colMinLevel.Name = "colMinLevel";
            colMinLevel.Visible = true;
            colMinLevel.VisibleIndex = 6;
            colMinLevel.Width = 100;
            //
            // colMaxLevel
            //
            colMaxLevel.FieldName = "MaxLevel";
            colMaxLevel.MaxWidth = 100;
            colMaxLevel.MinWidth = 100;
            colMaxLevel.Name = "colMaxLevel";
            colMaxLevel.Visible = true;
            colMaxLevel.VisibleIndex = 7;
            colMaxLevel.Width = 100;
            //
            // colDN
            //
            colDN.FieldName = "DN";
            colDN.MaxWidth = 100;
            colDN.MinWidth = 100;
            colDN.Name = "colDN";
            colDN.Visible = true;
            colDN.VisibleIndex = 8;
            colDN.Width = 100;
            //
            // colMinVol
            //
            colMinVol.FieldName = "MinVol";
            colMinVol.MaxWidth = 100;
            colMinVol.MinWidth = 100;
            colMinVol.Name = "colMinVol";
            colMinVol.Visible = true;
            colMinVol.VisibleIndex = 9;
            colMinVol.Width = 100;
            //
            // colOverFlow
            //
            colOverFlow.FieldName = "OverFlow";
            colOverFlow.MaxWidth = 80;
            colOverFlow.MinWidth = 80;
            colOverFlow.Name = "colOverFlow";
            colOverFlow.Visible = true;
            colOverFlow.VisibleIndex = 10;
            colOverFlow.Width = 80;
            //
            // colCode
            //
            colCode.FieldName = "Code";
            colCode.MaxWidth = 150;
            colCode.MinWidth = 100;
            colCode.Name = "colCode";
            colCode.Visible = true;
            colCode.VisibleIndex = 2;
            colCode.Width = 100;
            //
            // colName
            //
            colName.FieldName = "Name";
            colName.MaxWidth = 150;
            colName.MinWidth = 100;
            colName.Name = "colName";
            colName.Visible = true;
            colName.VisibleIndex = 1;
            colName.Width = 100;
            //
            // colModelType
            //
            colModelType.FieldName = "ModelType";
            colModelType.MaxWidth = 150;
            colModelType.MinWidth = 100;
            colModelType.Name = "colModelType";
            colModelType.Visible = true;
            colModelType.VisibleIndex = 3;
            colModelType.Width = 100;
            //
            // colHasDb
            //
            colHasDb.FieldName = "HasDb";
            colHasDb.MaxWidth = 60;
            colHasDb.MinWidth = 60;
            colHasDb.Name = "colHasDb";
            colHasDb.Visible = true;
            colHasDb.VisibleIndex = 11;
            colHasDb.Width = 60;
            //
            // colDbLocked
            //
            colDbLocked.FieldName = "DbLocked";
            colDbLocked.MaxWidth = 60;
            colDbLocked.MinWidth = 60;
            colDbLocked.Name = "colDbLocked";
            colDbLocked.Visible = true;
            colDbLocked.VisibleIndex = 0;
            colDbLocked.Width = 60;
            //
            // colFlagsString
            //
            colFlagsString.FieldName = "FlagsString";
            colFlagsString.MaxWidth = 200;
            colFlagsString.MinWidth = 100;
            colFlagsString.Name = "colFlagsString";
            colFlagsString.Visible = true;
            colFlagsString.VisibleIndex = 12;
            colFlagsString.Width = 100;
            //
            // colDescription
            //
            colDescription.FieldName = "Description";
            colDescription.MinWidth = 100;
            colDescription.Name = "colDescription";
            colDescription.Visible = true;
            colDescription.VisibleIndex = 13;
            colDescription.Width = 100;
            //
            // HydroTankBulkSetListCtrl
            //
            AutoScaleDimensions = new SizeF(7F, 14F);
            AutoScaleMode = AutoScaleMode.Font;
            Controls.Add(layoutControl1);
            Name = "HydroTankBulkSetListCtrl";
            Size = new Size(1381, 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)hydroTankBulkSetViewModelBindingSource).EndInit();
            ResumeLayout(false);
        }
        #endregion
        private DevExpress.XtraGrid.GridControl gridControl1;
        private DevExpress.XtraGrid.Views.Grid.GridView gridView1;
        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 BindingSource hydroTankBulkSetViewModelBindingSource;
        private DevExpress.XtraGrid.Columns.GridColumn colDbLocked;
        private DevExpress.XtraGrid.Columns.GridColumn colName;
        private DevExpress.XtraGrid.Columns.GridColumn colCode;
        private DevExpress.XtraGrid.Columns.GridColumn colPoolElev;
        private DevExpress.XtraGrid.Columns.GridColumn colInitLevel;
        private DevExpress.XtraGrid.Columns.GridColumn colMinLevel;
        private DevExpress.XtraGrid.Columns.GridColumn colMaxLevel;
        private DevExpress.XtraGrid.Columns.GridColumn colDN;
        private DevExpress.XtraGrid.Columns.GridColumn colMinVol;
        private DevExpress.XtraGrid.Columns.GridColumn colOverFlow;
        private DevExpress.XtraGrid.Columns.GridColumn colModelType;
        private DevExpress.XtraGrid.Columns.GridColumn colHasDb;
        private DevExpress.XtraGrid.Columns.GridColumn colFlagsString;
        private DevExpress.XtraGrid.Columns.GridColumn colDescription;
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/12-bulkset/02-node/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,145 @@
using DevExpress.XtraEditors;
using DevExpress.XtraTabbedMdi;
namespace Yw.WinFrmUI
{
    public partial class HydroTankBulkSetListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterBulkSetListCtrl
    {
        public HydroTankBulkSetListCtrl()
        {
            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<HydroTankBulkSetViewModel> _allList = null;
        //所有绑定列表
        private List<HydroTankBulkSetViewModel> _allBindingList = null;
        /// <summary>
        /// ç»‘定数据
        /// </summary>
        public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo)
        {
            _allList = new List<HydroTankBulkSetViewModel>();
            if (hydroInfo != null && hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0)
            {
                foreach (var tank in hydroInfo.Tanks)
                {
                    var vm = new HydroTankBulkSetViewModel(tank);
                    _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.hydroTankBulkSetViewModelBindingSource.DataSource = _allBindingList;
            this.hydroTankBulkSetViewModelBindingSource.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 HydroTankBulkSetDlg();
            dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList());
            dlg.ReloadDataEvent += (list) =>
            {
                _allBindingList.ForEach(x =>
                {
                    x.PoolElev = x.Vmo.PoolElev;
                    x.InitLevel = x.Vmo.InitLevel;
                    x.MinLevel = x.Vmo.MinLevel;
                    x.MaxLevel = x.Vmo.MaxLevel;
                    x.DN = x.Vmo.DN;
                    x.OverFlow = x.Vmo.OverFlow;
                });
                this.hydroTankBulkSetViewModelBindingSource.DataSource = _allBindingList;
                this.hydroTankBulkSetViewModelBindingSource.ResetBindings(false);
            };
            dlg.ShowDialog();
        }
        //行点击事件
        private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            var row = this.gridView1.GetRow(e.RowHandle) as HydroTankBulkSetViewModel;
            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/01-source/02-tank/00-core/HydroTankBulkSetListCtrl.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="hydroTankBulkSetViewModelBindingSource.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/01-source/02-tank/00-core/HydroTankBulkSetViewModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,85 @@
namespace Yw.WinFrmUI
{
    /// <summary>
    ///
    /// </summary>
    public class HydroTankBulkSetViewModel : HydroSourceBulkSetViewModel
    {
        /// <summary>
        ///
        /// </summary>
        public HydroTankBulkSetViewModel() { }
        /// <summary>
        ///
        /// </summary>
        public HydroTankBulkSetViewModel(Yw.Model.HydroTankInfo rhs) : base(rhs)
        {
            this.PoolElev = Math.Round(rhs.PoolElev, 4);
            this.InitLevel = Math.Round(rhs.InitLevel, 4);
            this.MinLevel = Math.Round(rhs.MinLevel, 4);
            this.MaxLevel = Math.Round(rhs.MaxLevel, 4);
            this.DN = Math.Round(rhs.DN, 4);
            this.MinVol = Math.Round(rhs.MinVol, 4);
            this.VolCurve = rhs.VolCurve;
            this.OverFlow = rhs.OverFlow;
            this.Vmo = rhs;
        }
        /// <summary>
        /// æ± åº•标高
        /// </summary>
        [DisplayName("池底标高(m)")]
        public double PoolElev { get; set; }
        /// <summary>
        /// åˆå§‹æ°´ä½
        /// </summary>
        [DisplayName("初始水位(m)")]
        public double InitLevel { get; set; }
        /// <summary>
        /// æœ€ä½Žæ°´ä½
        /// </summary>
        [DisplayName("最低水位(m)")]
        public double MinLevel { get; set; }
        /// <summary>
        /// æœ€é«˜æ°´ä½
        /// </summary>
        [DisplayName("最高水位(m)")]
        public double MaxLevel { get; set; }
        /// <summary>
        /// å…¬ç§°ç›´å¾„
        /// </summary>
        [DisplayName("公称直径(m)")]
        public double DN { get; set; }
        /// <summary>
        /// æœ€å°å®¹ç§¯
        /// </summary>
        [DisplayName("最小容积(m³)")]
        public double MinVol { get; set; }
        /// <summary>
        /// å®¹ç§¯æ›²çº¿
        /// </summary>
        [DisplayName("容积曲线")]
        public string VolCurve { get; set; }
        /// <summary>
        /// å…è®¸æº¢æµ
        /// </summary>
        [DisplayName("允许溢流")]
        public bool OverFlow { get; set; }
        /// <summary>
        ///
        /// </summary>
        public new Yw.Model.HydroTankInfo Vmo { get; set; }
    }
}
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroReservoirBulkSetViewModel.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="HydroReservoirBulkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
  <TypeInfo>Yw.WinFrmUI.HydroReservoirBulkSetViewModel, Yw.WinFrmUI.Hydro.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Properties/DataSources/Yw.WinFrmUI.HydroTankBulkSetViewModel.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="HydroTankBulkSetViewModel" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
  <TypeInfo>Yw.WinFrmUI.HydroTankBulkSetViewModel, 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
@@ -100,6 +100,15 @@
    <Compile Update="11-prefix\99-failed\HydroCalcuFailedCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\01-source\01-reservoir\HydroReservoirBulkSetListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\01-source\02-tank\00-core\HydroTankBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\01-source\02-tank\00-core\HydroTankBulkSetListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="Properties\Resources.Designer.cs">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
@@ -114,4 +123,8 @@
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <Folder Include="12-bulkset\03-link\" />
  </ItemGroup>
</Project>
WinFrmUI/Yw.WinFrmUI.Hydro.Core/Yw.WinFrmUI.Hydro.Core.csproj.user
@@ -76,5 +76,11 @@
    <Compile Update="11-prefix\03-nozzle\SetNozzleCalcuPrefixListCtrl.cs">
      <SubType>UserControl</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\01-source\01-reservoir\HydroReservoirBulkSetDlg.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="12-bulkset\02-node\01-source\01-reservoir\HydroReservoirBulkSetListDlg.cs">
      <SubType>Form</SubType>
    </Compile>
  </ItemGroup>
</Project>