I have two classes
One is EQConfig, the other is HSMSConfig (I attached) and EQConfig has a property which name is hsmsConfig and HSMSConfig type.
Then, I set below
this.radPropertyGrid1.SelectedObject = EQConfig;
Then I expected I can expand hsmsConfig property like
2 Answers, 1 is accepted
0
Myoungsu
Top achievements
Rank 1
answered on 03 Nov 2015, 07:10 AM
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.IO;
using System.Xml.Serialization;
namespace SCKIT.EQConfiguration
{
[Serializable, DefaultPropertyAttribute("DeviceID")]
public class HSMSConfig
{
[Category("Default Setting"), Description("Equipment ID")]
public string ID { get; set; }
[Category("Default Setting"), Description("Active or Passive")]
public ENUM_CONNECTION_MODE MODE { get; set; }
[Category("Default Setting")]
public string IP { get; set; }
[Category("Default Setting"), Description("Please enter an integer between 0 and 65535.")]
public int PORT { get; set; }
[Category("Default Setting"), Description("Device ID")]
public int DeviceID { get; set; }
[Category("Timeout"), Description("Represents the time3(1~120) of hsms.")]
public int T3 { get; set; }
[Category("Timeout"), Description("Represents the time5(1~240) of hsms.")]
public int T5 { get; set; }
[Category("Timeout"), Description("Represents the time6(1~240) of hsms.")]
public int T6 { get; set; }
[Category("Timeout"), Description("Represents the time7(1~240) of hsms.")]
public int T7 { get; set; }
[Category("Timeout"), Description("Represents the time8(1~120) of hsms.")]
public int T8 { get; set; }
[Category("Timeout"), Description("Represents the LinkTestTime(1~120) of hsms.")]
public int LinkTestTimeout { get; set; }
[BrowsableAttribute(false)]
public string LogFolderPath { get; set; }
[Category("Log"), Description("SystemLog Enable/Disable")]
public bool SystemLogWrite { get; set; }
[Category("Log"), Description("SystemLog Maximum Count")]
public int SystemLogCount { get; set; }
[Category("Log"), Description("SystemLog Maximum Capacity")]
public int SystemLogMaxCapacity { get; set; }
[Category("Log"), Description("SMLLog Enable/Disable")]
public bool SMLLogWrite { get; set; }
[Category("Log"), Description("SMLLog Maximum Count")]
public int SMLLogCount { get; set; }
[Category("Log"), Description("SMLLog Maximum Capacity")]
public int SMLMaxCapacity { get; set; }
[Category("Log"), Description("HexaLog Enable/Disable")]
public bool HEXLogWrite { get; set; }
[Category("Log"), Description("HexaLog Maximum Count")]
public int HEXLogCount { get; set; }
[Category("Log"), Description("HexaLog Maximum Capacity")]
public int HEXLogMaxCapacity { get; set; }
public HSMSConfig()
{
initialize();
}
public HSMSConfig(string id)
{
initialize();
}
private void initialize()
{
MODE = ENUM_CONNECTION_MODE.ACTIVE;
IP = string.Empty;
PORT = 5000;
DeviceID = 0;
T3 = 45;
T5 = 10;
T6 = 5;
T7 = 10;
T8 = 5;
LinkTestTimeout = 10;
LogFolderPath = string.Empty;
SystemLogWrite = false;
SystemLogCount = 10;
SystemLogMaxCapacity = 10;
SMLLogWrite = false;
SMLLogCount = 10;
SMLMaxCapacity = 10;
HEXLogWrite = false;
HEXLogCount = 10;
HEXLogMaxCapacity = 10;
}
public string GetXmlString()
{
try
{
// Create a new XmlSerializer instance with the type of the test class
XmlSerializer SerializerObj = new XmlSerializer(typeof(HSMSConfig));
// Create a new file stream to write the serialized object to a file
StringWriter sw = new StringWriter();
SerializerObj.Serialize(sw, this);
return sw.ToString();
}
catch (Exception ex)
{
return null;
}
finally
{
}
}
}
}
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel;using System.IO;using System.Xml.Serialization;namespace SCKIT.EQConfiguration{ [Serializable, DefaultPropertyAttribute("DeviceID")] public class HSMSConfig { [Category("Default Setting"), Description("Equipment ID")] public string ID { get; set; } [Category("Default Setting"), Description("Active or Passive")] public ENUM_CONNECTION_MODE MODE { get; set; } [Category("Default Setting")] public string IP { get; set; } [Category("Default Setting"), Description("Please enter an integer between 0 and 65535.")] public int PORT { get; set; } [Category("Default Setting"), Description("Device ID")] public int DeviceID { get; set; } [Category("Timeout"), Description("Represents the time3(1~120) of hsms.")] public int T3 { get; set; } [Category("Timeout"), Description("Represents the time5(1~240) of hsms.")] public int T5 { get; set; } [Category("Timeout"), Description("Represents the time6(1~240) of hsms.")] public int T6 { get; set; } [Category("Timeout"), Description("Represents the time7(1~240) of hsms.")] public int T7 { get; set; } [Category("Timeout"), Description("Represents the time8(1~120) of hsms.")] public int T8 { get; set; } [Category("Timeout"), Description("Represents the LinkTestTime(1~120) of hsms.")] public int LinkTestTimeout { get; set; } [BrowsableAttribute(false)] public string LogFolderPath { get; set; } [Category("Log"), Description("SystemLog Enable/Disable")] public bool SystemLogWrite { get; set; } [Category("Log"), Description("SystemLog Maximum Count")] public int SystemLogCount { get; set; } [Category("Log"), Description("SystemLog Maximum Capacity")] public int SystemLogMaxCapacity { get; set; } [Category("Log"), Description("SMLLog Enable/Disable")] public bool SMLLogWrite { get; set; } [Category("Log"), Description("SMLLog Maximum Count")] public int SMLLogCount { get; set; } [Category("Log"), Description("SMLLog Maximum Capacity")] public int SMLMaxCapacity { get; set; } [Category("Log"), Description("HexaLog Enable/Disable")] public bool HEXLogWrite { get; set; } [Category("Log"), Description("HexaLog Maximum Count")] public int HEXLogCount { get; set; } [Category("Log"), Description("HexaLog Maximum Capacity")] public int HEXLogMaxCapacity { get; set; } public HSMSConfig() { initialize(); } public HSMSConfig(string id) { initialize(); } private void initialize() { MODE = ENUM_CONNECTION_MODE.ACTIVE; IP = string.Empty; PORT = 5000; DeviceID = 0; T3 = 45; T5 = 10; T6 = 5; T7 = 10; T8 = 5; LinkTestTimeout = 10; LogFolderPath = string.Empty; SystemLogWrite = false; SystemLogCount = 10; SystemLogMaxCapacity = 10; SMLLogWrite = false; SMLLogCount = 10; SMLMaxCapacity = 10; HEXLogWrite = false; HEXLogCount = 10; HEXLogMaxCapacity = 10; } public string GetXmlString() { try { // Create a new XmlSerializer instance with the type of the test class XmlSerializer SerializerObj = new XmlSerializer(typeof(HSMSConfig)); // Create a new file stream to write the serialized object to a file StringWriter sw = new StringWriter(); SerializerObj.Serialize(sw, this); return sw.ToString(); } catch (Exception ex) { return null; } finally { } } }}0
Hello Myoungsu,
Thank you for writing.
In order to achieve your goal, it is suitable to use an ExpandableObjectConverter. Additional information is available in PropertyGrid >> Type Converters help article.
I hope this information helps. Should you have further questions I would be glad to help.
Regards,
Dess
Telerik
Thank you for writing.
In order to achieve your goal, it is suitable to use an ExpandableObjectConverter. Additional information is available in PropertyGrid >> Type Converters help article.
I hope this information helps. Should you have further questions I would be glad to help.
Dess
Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
