0

我正在开发 WPF 应用程序 (MVVM) 并使用 DevExpress GridCONtrol。我需要创建一个通用屏幕来显示来自具有参考数据的多个表(一次显示一个)的数据。因此,网格控件需要绑定到一个数据集,该数据集可以包含不同数量的列,具体取决于正在查询的表。

问题:

1) 我的数据访问层应该返回什么类型的对象?目前我只能想到一个 Dataset /DataTable .. 还有其他选择吗,因为我真的想避免使用数据集和 datatables .. 也许是字典?返回此类数据的最佳方法是什么?

2) 如果我返回除 Dataset/DataTable 之外的其他内容,如何将我的 GridControl 与此动态数据集合绑定?

非常感谢。

4

1 回答 1

4

我过去曾使用过与此类似的方法并取得了成功

http://www.paulstovell.com/dynamic-datagrid

public class Property : INotifyPropertyChanged
{
    public Property(string name, object value)
    {
        Name = name;
        Value = value;
    }

    public string Name { get; private set; }
    public object Value { get; set; }
}


public class Record
{
    private readonly ObservableCollection<Property> properties = new ObservableCollection<Property>();

    public Record(params Property[] properties)
    {
        foreach (var property in properties)
            Properties.Add(property);
    }

    public ObservableCollection<Property> Properties
    {
        get { return properties; }
    }
}
<DataGrid 
   Name="dataGrid" 
   AutoGenerateColumns="false" 
   ItemsSource="{Binding Path=Records}"/>
于 2011-04-26T14:04:08.150 回答