WPF Devx GridControl中的动态数据绑定

时间:2011-04-26 14:00:39

标签: wpf devexpress dynamic-data gridcontrol

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

问题:

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

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

非常感谢。

1 个答案:

答案 0 :(得分: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}"/>