0

私は WPF アプリケーション (MVVM) に取り組んでおり、DevExpress GridCONtrol を使用しています。参照データを持つ複数のテーブル (一度に 1 つずつ表示) からデータを表示する汎用画面を作成する必要があります。そのため、グリッド コントロールは、クエリ対象のテーブルに応じて異なる数の列を含むデータセットにバインドする必要があります。

質問:

1) データ アクセス レイヤーはどのタイプのオブジェクトを返す必要がありますか? 現時点では、データセット/DataTableしか考えられません..データセットとデータテーブルの使用を本当に避けたいので、他の選択肢はありますか..おそらくディクショナリですか? そのようなデータを返す最良の方法は何ですか?

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 に答える