Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实现具有动态属性的可绑定对象_C#_Dynamic_Properties_Bindable - Fatal编程技术网

C# 实现具有动态属性的可绑定对象

C# 实现具有动态属性的可绑定对象,c#,dynamic,properties,bindable,C#,Dynamic,Properties,Bindable,我试图在C#中创建一个可以绑定到gridview的对象。我有三个目标来实现这一点。EntryTable、EntryRow和EntryValue。EntryTable包含EntryRows列表,EntryRow包含EntryValues列表。条目值对象由属性名和值组成 数据结构如下: public class EntryTable { private List<EntryRow> _lERTable = null; ... public class EntryRow

我试图在C#中创建一个可以绑定到gridview的对象。我有三个目标来实现这一点。EntryTable、EntryRow和EntryValue。EntryTable包含EntryRows列表,EntryRow包含EntryValues列表。条目值对象由属性名和值组成

数据结构如下:

public class EntryTable 
{
    private List<EntryRow> _lERTable = null;
    ...

public class EntryRow
{
    private List<EntryValue> _lEVRow = null;
    ...

public class EntryValue
{
    private string _sFieldName;
    private string _sValue;
    ...
我的最终目标是能够将填充的EntryTable绑定到网格,让EntryTable对象识别所有EntryRows中的所有属性名称,并将数据显示为网格问题是并非每个EntryRow都具有相同数量的EntryValue。例如,如果我存储员工,则某些员工可能没有manager属性

我希望这样处理数据:

First Name |    Last Name  |     Position             |     Manager
-----------------------------------------------------------------
Andrew     |    Milton     |    Software Developer    |     null
-----------------------------------------------------------------
Barry      |   Singleton   |    Web Developer         |     Marcus Manicotti
我曾考虑将数据输入传统的System.data.DataTable模型,但我更愿意实现自己的对象以避免开销


在此问题上的任何帮助都将不胜感激。

如果您使用的是WinForms,您可以在集合上实现。如果您使用的是WPF,则可以在每个项目上使用。

因为我的属性实际上是每个EntryValue中的字符串,所以我不确定如何实现ITypedList,以便从_sFieldName字段提取属性名称,并从_sValue字段提取值。我真的很欣赏这一点。看来我有点走上正轨了。我想不管发生什么,你都得弄清楚你想用什么来命名房产。。。即使他们是武断的(“财产1”、“财产2”等),那也是不幸的一部分。我的数据库后端被设置为一个实体、属性、值模式,这样我就可以对一个实体应用任意数量的属性。我的目标是建立一个系统,这样我就可以获取一个具有任何属性的实体列表,并将其绑定到一个网格,然后将数据拼凑在一起,创建一个包含所有内容的主列表。如果一组实体的属性不明确,您可以在列表中的实体列表中循环,并获取所有唯一的属性。嗯。。。我可以轻松创建唯一字段的列表。然而,关于如何实现ITypedList的文档似乎有点零碎。关于如何为网格手动定义这些属性,有什么想法吗?
First Name |    Last Name  |     Position             |     Manager
-----------------------------------------------------------------
Andrew     |    Milton     |    Software Developer    |     null
-----------------------------------------------------------------
Barry      |   Singleton   |    Web Developer         |     Marcus Manicotti