WPF DataRow的垂直表示

时间:2010-07-09 12:57:20

标签: c# wpf

我不知道在哪里寻找这个...我有一个viewmodel,它有一个底层DataRow提供模型的一部分。我想在垂直布局中将此信息显示为单个记录。我计划使用DataGrid,因为我希望用户能够在DataTable中添加/删除/重命名行,尽管只查看一条记录。我不太确定如何实现这个目标。我期待的例子如下:

来源数据表
ID,名称,价值
1,一,1 2,二,2

在我的UI中预期会有一个类似于以下内容的表


ID | 1


姓名|一个


价值| 1


1 个答案:

答案 0 :(得分:1)

您可以将DataRow公开为字段列表:

public class DataRowField
{
    public int Index { get; set; }
    public string Name { get; set; }
    public object Value { get; set; }
}


public IEnumerable<DataRowField> Fields
{
    get
    {
        return _dataRow.Table.Columns.Cast<DataColumn>()
               .Select((column, i) => new DataRowField
               {
                   Index = i,
                   Name = column.ColumnName,
                   Value = _dataRow[column]
               });
    }
}

然后您只需要将DataGrid绑定到Fields属性