From 578014f827b6871833cbfa6e781e05d1f9397995 Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期四, 02 七月 2020 14:57:07 +0800 Subject: [PATCH] 保存新配置 --- src/Bro.Common.Model/Helper/PropertyConvertHelper.cs | 39 +++++++++++++++++++++++++++++---------- 1 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs b/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs index 1f56ef7..71787f8 100644 --- a/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs +++ b/src/Bro.Common.Model/Helper/PropertyConvertHelper.cs @@ -112,7 +112,7 @@ // set => hash = value; //} - public abstract Hashtable GetConvertHash(); + public abstract Hashtable GetConvertHash(ITypeDescriptorContext context); public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { @@ -121,7 +121,7 @@ public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { - Hash = GetConvertHash(); + Hash = GetConvertHash(context); string[] ids = new string[Hash.Values.Count]; int i = 0; @@ -216,7 +216,26 @@ { return (value as IComplexDisplay).GetDisplayText(); } - else + else if (value is IEnumerable enumList) + { + string display = ""; + bool iComplexDisplayMatch = false; + var enumrator = enumList.GetEnumerator(); + while (enumrator.MoveNext()) + { + if (enumrator.Current is IComplexDisplay d) + { + iComplexDisplayMatch = true; + display += $"{d.GetDisplayText()} "; + } + } + + if (iComplexDisplayMatch) + { + return display.Trim(); + } + } + { return JsonConvert.SerializeObject(value); } @@ -571,7 +590,7 @@ } form.ShowDialog(); - List<string> returnStrs = tbox.Text.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + List<string> returnStrs = tbox.Text.Split(new char[] { '\r', '\n', ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); switch (typeof(T).Name) { @@ -624,10 +643,10 @@ return form; } - //protected override object CreateInstance(Type itemType) - //{ - // return base.CreateInstance(itemType); - //} + protected override object CreateInstance(Type itemType) + { + return base.CreateInstance(itemType); + } //protected override object[] GetItems(object editValue) //{ @@ -816,7 +835,7 @@ } } - public class DeviceTypeConverter : StringConverter + public class DeviceTypeConverter : StringConverter { public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { @@ -847,7 +866,7 @@ return new StandardValuesCollection(devices); } } - + public class DeviceInitialConfigEditor<T> : UITypeEditor where T : class, IInitialConfig { public override UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context) -- Gitblit v1.8.0