【发布时间】:2011-03-17 19:37:25
【问题描述】:
我正在尝试在 C# 中创建一个可以绑定到网格视图的对象。我有三个目标来实现这一目标。条目表、条目行和条目值。一个EntryTable 包含一个EntryRows 列表,一个EntryRow 包含一个EntryValues 列表。一个 Entry 值对象由一个属性名和一个值组成。
数据结构如下:
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;
...
我知道默认情况下可绑定对象只会绑定到顶级可见属性。结果,我只看到一个 EntryRow 对象名称列表,如下所示:
-------------------------------------------
Norseman.CommandN.Data.CNStore.EntryRow |
-------------------------------------------
Norseman.CommandN.Data.CNStore.EntryRow |
------------------------------------------
我的最终目标是能够将填充的 EntryTable 绑定到网格,并让 EntryTable 对象识别所有 EntryRows 中的所有属性名称并将数据显示为网格。 问题是不是每个 EntryRow 都有相同数量的 EntryValues。 例如,如果我存储员工,一些员工可能没有经理属性。
我希望这样处理数据:
First Name | Last Name | Position | Manager
-----------------------------------------------------------------
Andrew | Milton | Software Developer | null
-----------------------------------------------------------------
Barry | Singleton | Web Developer | Marcus Manicotti
我曾考虑将我的数据输入到传统的 System.Data.DataTable 模型中,但我更愿意实现自己的对象以避免开销。
在这件事上的任何帮助将不胜感激。
【问题讨论】:
标签: c# dynamic properties bindable