lixiaojun
2024-10-10 3379b93327c6c7a9f9bc30d4462ffbeb6d4a4470
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/HydroParterPropertyCtrl.cs
@@ -8,6 +8,7 @@
using DevExpress.XtraVerticalGrid.Events;
using NetTaste;
using System.Windows.Forms.VisualStyles;
using Yw.EPAnet;
namespace Yw.WinFrmUI
{
@@ -119,7 +120,6 @@
        private void propertyGridControl1_CustomDrawRowValueCell(object sender, CustomDrawRowValueCellEventArgs e)
        {
            var rowTypeFullName = e.Row.Properties.RowType.FullName;
            if (rowTypeFullName == typeof(DateTime).FullName)
            {
                e.CellText = ((DateTime)e.Properties.Value).ToString("yyyy-MM-dd HH:mm:ss");
@@ -135,7 +135,25 @@
                        e.CellText = e.Properties.Value.ToString() + " " + displayUnit.Unit;
                    }
                }
                var flagsPro = (IsHydroFlagsProAttribute)descriptor.Attributes[typeof(IsHydroFlagsProAttribute)];
                if (flagsPro != null)
                {
                    if (flagsPro.FlagsPro)
                    {
                        var flags = e.Properties.Value as List<string>;
                        e.CellText = Yw.Untity.FlagsHelper.ToString(flags);
                    }
                }
            }
        }
        //自定义属性描述
        private void propertyGridControl1_CustomPropertyDescriptors(object sender, CustomPropertyDescriptorsEventArgs e)
        {
        }
        //属性编辑框的显示与取消
@@ -377,6 +395,31 @@
            #endregion
            #region 标签
            var flagsPro = (IsHydroFlagsProAttribute)descriptor.Attributes[typeof(IsHydroFlagsProAttribute)];
            if (flagsPro != null)
            {
                var buttonEdit = new RepositoryItemButtonEdit();
                buttonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
                buttonEdit.ButtonClick += async delegate
                {
                    var vm = GetPropertyViewModel(e.Row);
                    var flagVmoList = await BLLFactory<Yw.BLL.SysFlag>.Instance.GetBySysType(Yw.Hydro.DataType.HydroParter);
                    var dbFlagList = flagVmoList?.Select(x => x.Name).Distinct().ToList();
                    var dlg = new SetFlagsDlg();
                    dlg.SetBindingData(dbFlagList, vm.Flags);
                    dlg.ReloadDataEvent += (flags) =>
                    {
                        vm.Flags = flags;
                        UpdateRows();
                    };
                    dlg.ShowDialog();
                };
                e.RepositoryItem = buttonEdit;
            }
            #endregion
        }
@@ -433,6 +476,11 @@
            this.propertyGridControl1.CollapseAllRows();
        }
        private void propertyGridControl1_FocusedRowChanged(object sender, FocusedRowChangedEventArgs e)
        {
        }
    }
}