duheng
2025-03-28 e411302bca8857e102443a5250c82b9580ef07a3
WinFrmUI/Yw.WinFrmUI.Hydro.Core/05-property/HydroVisualPropertyCtrl.cs
@@ -226,6 +226,15 @@
            {
                e.CellText = ((DateTime)e.Properties.Value).ToString("yyyy-MM-dd HH:mm:ss");
            }
            else if (fullTypeName == typeof(string[]).FullName)
            {
                var stringValue = (string[])e.Properties.Value;
                e.CellText = stringValue?.Length.ToString();
            }
            else if (fullTypeName == typeof(DictionaryPropertyAdapter).FullName)
            {
                e.CellText = string.Empty;
            }
            else
            {
                var descriptor = this.propertyGridControl1.GetPropertyDescriptor(e.Row);
@@ -420,6 +429,7 @@
                {
                    var buttonEdit = new RepositoryItemButtonEdit();
                    buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
                    buttonEdit.ButtonClick += async delegate
                    {
                        var vm = GetPropertyViewModel(e.Row);
@@ -440,6 +450,37 @@
                    e.RepositoryItem = buttonEdit;
                }
            }
            #endregion
            #region 参数
            if (descriptor != null)
            {
                var parasProAttri = (HydroParasProAttribute)descriptor.Attributes[typeof(HydroParasProAttribute)];
                if (parasProAttri != null)
                {
                    var buttonEdit = new RepositoryItemButtonEdit();
                    buttonEdit.TextEditStyle = TextEditStyles.HideTextEditor;
                    buttonEdit.ButtonClick += delegate
                    {
                        var vm = GetPropertyViewModel(e.Row);
                        var dlg = new SetParasDlg();
                        dlg.SetBindingData(vm.Vmo.Paras);
                        dlg.ReloadDataEvent += (paras) =>
                        {
                            vm.Vmo.Paras = paras;
                            vm.Paras = new DictionaryPropertyAdapter(paras);
                            this.propertyGridControl1.UpdateRows();
                            this.propertyGridControl1.RefreshEditor();
                            this.PropertyValueChangedEvent?.Invoke(vm);
                        };
                        dlg.ShowDialog();
                    };
                    e.RepositoryItem = buttonEdit;
                }
            }
            #endregion
@@ -471,10 +512,6 @@
            if (vm is HydroValveViewModel valve)
            {
                if (fieldName == nameof(HydroValveViewModel.ValveSetting))
                {
                    e.Row.Visible = false;
                }
                switch (valve.Vmo.ValveType)
                {
                    case Yw.Hydro.ValveType.PSV:
@@ -487,11 +524,7 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
@@ -507,11 +540,7 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
@@ -527,11 +556,7 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
@@ -547,11 +572,7 @@
                            {
                                e.Row.Visible = true;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
@@ -567,11 +588,7 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            {
                                e.Row.Visible = true;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
@@ -587,13 +604,9 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            {
                                e.Row.Visible = true;
                            }
                        }
                        break;
@@ -607,13 +620,9 @@
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveOL))
                            if (fieldName == nameof(HydroValveViewModel.ValveLength))
                            {
                                e.Row.Visible = false;
                            }
                            if (fieldName == nameof(HydroValveViewModel.ValveQL))
                            {
                                e.Row.Visible = false;
                                e.Row.Visible = true;
                            }
                        }
                        break;