C# 动态生成属性 50
现在想通过propertygrid显示一个datatable某行的内容。如:datarow1数据如下:---------------IDnameparent1小红张三--...
现在想通过propertygrid显示一个datatable某行的内容。
如:datarow1数据如下:
---------------
ID name parent
1 小红 张三
---------------
这样需要做一个类(yuangong)来表示datarow,然后propertygrid.selectedObject =yuangong,从而达到显示datarow1内容的目的。
在类(yuangong)的各个属性名称就是datarow的列名,类的各属性的值就是datarow各列对应的值。即:
yuangong类里有三个属性:
yuangong.ID=1,
yuangong.name=“小红”,
yuangong.parent=“张三”。
由于类的属性的创建是手动创建,在写yuangong.cs时候,各属性的名称是固定的。也就是说,此时必须知道 datatable一共多少列,列值是多少。然后固化在代码中。
问题来了...
为保证系统的柔性,datatable的列允许增加。其列名是个变量(X)。
问:怎么才能实现动态添加yuangong的属性?并且增加的属性的名称 等于X ?
实现下面的效果:
foreache (columheader ch in datatable.itemarry)
{
this.属性.add(ch);
属性.value = ".....";
}
求帮助!!!!!!!现在正在研究dynamic,但dynamic能实现动态增加属性,却实现不了用字符串变量作为属性名。求帮助!
-----------------------------------------------------------------------------------------------------
嗯,这个问题自己解决了,采用重写虚类接口的方式实现。 展开
如:datarow1数据如下:
---------------
ID name parent
1 小红 张三
---------------
这样需要做一个类(yuangong)来表示datarow,然后propertygrid.selectedObject =yuangong,从而达到显示datarow1内容的目的。
在类(yuangong)的各个属性名称就是datarow的列名,类的各属性的值就是datarow各列对应的值。即:
yuangong类里有三个属性:
yuangong.ID=1,
yuangong.name=“小红”,
yuangong.parent=“张三”。
由于类的属性的创建是手动创建,在写yuangong.cs时候,各属性的名称是固定的。也就是说,此时必须知道 datatable一共多少列,列值是多少。然后固化在代码中。
问题来了...
为保证系统的柔性,datatable的列允许增加。其列名是个变量(X)。
问:怎么才能实现动态添加yuangong的属性?并且增加的属性的名称 等于X ?
实现下面的效果:
foreache (columheader ch in datatable.itemarry)
{
this.属性.add(ch);
属性.value = ".....";
}
求帮助!!!!!!!现在正在研究dynamic,但dynamic能实现动态增加属性,却实现不了用字符串变量作为属性名。求帮助!
-----------------------------------------------------------------------------------------------------
嗯,这个问题自己解决了,采用重写虚类接口的方式实现。 展开
3个回答
展开全部
看看entity framework的,微软官方的东西,就是一整套实现你这个的东西。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自带的MSN应该有这样的东东吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-20
展开全部
怎么解决的啊?我也遇到此类问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询