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能实现动态增加属性,却实现不了用字符串变量作为属性名。求帮助!
-----------------------------------------------------------------------------------------------------
嗯,这个问题自己解决了,采用重写虚类接口的方式实现。
展开
 我来答
fej121121
2013-03-27 · TA获得超过651个赞
知道小有建树答主
回答量:655
采纳率:66%
帮助的人:534万
展开全部
看看entity framework的,微软官方的东西,就是一整套实现你这个的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一个老了的GISer
2013-03-27 · 超过11用户采纳过TA的回答
知道答主
回答量:44
采纳率:100%
帮助的人:17.9万
展开全部
自带的MSN应该有这样的东东吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-20
展开全部
怎么解决的啊?我也遇到此类问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式