Shuxia Ning
2024-10-24 0711485ecb4fe66fbe820478d92eb9f04b77c042
WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-grading/01-set/SetHydroGradingModelCtrl.cs
@@ -1,4 +1,7 @@
namespace Yw.WinFrmUI
using DevExpress.Diagram.Core.Native;
using DevExpress.XtraEditors.Repository;
namespace Yw.WinFrmUI
{
    public partial class SetHydroGradingModelCtrl : DevExpress.XtraEditors.XtraUserControl
    {
@@ -42,6 +45,61 @@
            });
            this.setHydroGradingModelViewModelBindingSource.DataSource = _allBindingList;
            this.setHydroGradingModelViewModelBindingSource.ResetBindings(false);
            ResetColumns();
        }
        //设置列
        private void ResetColumns()
        {
            switch (_propName)
            {
                case Yw.Hydro.ParterProp.LinkStatus:
                    {
                        ResetColumns(false);
                    }
                    break;
                case Yw.Hydro.ParterProp.CalcuPress:
                    {
                        ResetColumns(true);
                    }
                    break;
                case Yw.Hydro.ParterProp.CalcuHead:
                    {
                        ResetColumns(true);
                    }
                    break;
                case Yw.Hydro.ParterProp.CalcuFlow:
                    {
                        ResetColumns(true);
                    }
                    break;
                case Yw.Hydro.ParterProp.CalcuVelocity:
                    {
                        ResetColumns(true);
                    }
                    break;
                case Yw.Hydro.ParterProp.CalcuHeadLoss:
                    {
                        ResetColumns(true);
                    }
                    break;
                default: break;
            }
        }
        //设置列
        private void ResetColumns(bool numeric)
        {
            this.colSetValue.Visible = false;
            this.colMinValue.Visible = false;
            this.colMaxValue.Visible = false;
            this.colColor.Visible = false;
            this.colDelete.Visible = false;
            this.colSetValue.Visible = !numeric;
            this.colMinValue.Visible = numeric;
            this.colMaxValue.Visible = numeric;
            this.colColor.Visible = true;
            this.colDelete.Visible = true;
        }
        /// <summary>
@@ -58,6 +116,7 @@
                    ModelID = x.ModelID,
                    Catalog = x.Catalog,
                    PropName = x.PropName,
                    SetValue = x.SetValue,
                    MinValue = x.MinValue,
                    MaxValue = x.MaxValue,
                    Color = ColorTranslator.ToHtml(x.Color),
@@ -69,6 +128,48 @@
            return list;
        }
        //自定义下拉框
        private void gridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
        {
            if (e.Column == this.colSetValue)
            {
                switch (_propName)
                {
                    case Yw.Hydro.ParterProp.LinkStatus:
                        {
                            var repositoryItem = new RepositoryItemImageComboBox();
                            switch (_catalog)
                            {
                                case Yw.Hydro.ParterCatalog.Pipe:
                                    {
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1);
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1);
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.CV), Yw.Hydro.LinkStatus.CV, -1);
                                    }
                                    break;
                                case Yw.Hydro.ParterCatalog.Pump:
                                    {
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1);
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1);
                                    }
                                    break;
                                case Yw.Hydro.ParterCatalog.Valve:
                                    {
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.None), Yw.Hydro.LinkStatus.None, -1);
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1);
                                        repositoryItem.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1);
                                    }
                                    break;
                                default: break;
                            }
                            e.RepositoryItem = repositoryItem;
                        }
                        break;
                    default: break;
                }
            }
        }
        //初始化
        private void gridView1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
        {