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>