自定义对象与控件之间的相互赋值
2012-02-20 11:32
211 查看
现在在做的一个需求:根据用户的需要,动态的生成产品的属性,最多50个。要求显示在界面上,并且可以实现对属性内容的添加、删除、修改。这样的话在界面上需要50个textbox(可以是别的自定义控件),来显示每个属性的值,修改之后再保存,这就需要对象与控件之间的相互赋值,前天学到一种方法,非常方便。希望能帮助需要的人。
//将对象的值传给控件
private void GetObjectInfoToControlValue(Object obj, Control control)
{
Type type = obj.GetType();
foreach (Control ctl in control.Controls)
{
foreach (PropertyInfo pi in type.GetProperties())
{
if (pi.Name == ctl.Name)
{
ctl.Text = pi.GetValue(obj, null).ToString();
}
}
}
}
//将控件的值传给对象
private void GetControlValueToObjectInfo(Object obj, Control control)
{
Type type = obj.GetType();
foreach (Control ctl in control.Controls)
{
foreach (PropertyInfo pi in type.GetProperties())
{
if (pi.Name == ctl.Name)
{
pi.SetValue(obj, Convert.ChangeType(ctl.Text,pi.PropertyType), null);
}
}
}
}
//将对象的值传给控件
private void GetObjectInfoToControlValue(Object obj, Control control)
{
Type type = obj.GetType();
foreach (Control ctl in control.Controls)
{
foreach (PropertyInfo pi in type.GetProperties())
{
if (pi.Name == ctl.Name)
{
ctl.Text = pi.GetValue(obj, null).ToString();
}
}
}
}
//将控件的值传给对象
private void GetControlValueToObjectInfo(Object obj, Control control)
{
Type type = obj.GetType();
foreach (Control ctl in control.Controls)
{
foreach (PropertyInfo pi in type.GetProperties())
{
if (pi.Name == ctl.Name)
{
pi.SetValue(obj, Convert.ChangeType(ctl.Text,pi.PropertyType), null);
}
}
}
}
相关文章推荐
- 别名现象,java对象之间的相互赋值
- 浅谈C++中对象的复制与对象之间的相互赋值
- 浅谈C++中对象的复制与对象之间的相互赋值
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- 对象属性之间的相互赋值
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- C#对象与XMl文件之间的相互转换
- JSON对象和字符串之间的相互转换
- 不同Web主机上的Servlet之间数据对象的相互传输
- 【转】JSON对象和字符串之间的相互转换
- java中实体类和JSON对象之间相互转化
- 关于eclips注释模板,和对象之间的赋值
- 利用XStream在Java对象和XML之间相互转换
- C# Winform主窗体和子窗体之间如何相互操作对方的控件
- 使用iframe的父子窗口之间的对象相互调用
- C# Winform主窗体和子窗体之间如何相互操作对方的控件
- JS面向对象(2) -- this的使用,对象之间的赋值,for...in语句,delete使用,成员方法,json对象的使用,prototype的使用,原型继承与原型链
- java:xml与对象之间相互转换
- 主窗体和子窗体之间如何相互操作对方的控件
- JSON对象和字符串之间的相互转换