我正在使用WPF应用程序(MVVM)并使用DevExpress GridCOntrol。 我需要创建一个通用屏幕来显示来自多个表(一次显示一个)的数据,这些表具有参考数据。 因此,网格控件需要绑定到一个数据集,该数据集可以包含不同数量的列,具体取决于作为查询的表。
问题:
1)我的数据访问层应该返回什么类型的对象? 目前我只能想到数据集/数据表..还有其他选择 因为我真的想避免使用数据集和数据表..也许是一个字典? 什么是返回此类数据的最佳方式?
2)如果我返回除Dataset / DataTable之外的内容,如何将GridControl与此动态数据集合绑定?
非常感谢。
答案 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}"/>