私は DataTable から BindingList に切り替える過程にあります。DataTable を DataGrid オブジェクトにバインドします。
ここに私のジレンマがあります。切り替えの利点は確かにわかりますが、私の状況では少し複雑になり、切り替える価値があるかどうか疑問に思っています。
私のシナリオ: 化学サンプルを表示する DataGrid があります。5 種類のサンプル タイプがあり、グリッド内の列はタイプごとに異なります (場合によっては、他のパラメーターに基づいて同じタイプ内で)。一部の列は同じままで、一部は 3 つの型で存在し、一部は 4 つの型で存在するなどです。単純な継承の場合とは異なります。現在、BindingList を使用する場合に必要となる、サンプルの種類ごとにプロパティを持たなくても、必要な列をロードできるため、簡単に DataTable を使用できます。ただし、BindingList を使用すると、後でサンプル プロパティを簡単に参照できるようになります。
これは、このオブジェクト (BindingList) を使用した初めての経験なので、どんな提案も歓迎します。私が知っていることから、BindingList はプロパティにバインドします。だから私が持っている場合:
public class Sample
{
protected string m_seq;
protected string m_id;
protected string m_weight;
protected string m_units;
public Sample()
{
}
public string Seq
{
get { return m_seq; }
set { m_seq = value; }
}
public string Id
{
get { return m_id; }
set { m_id = value; }
}
public string Weight
{
get { return m_weight; }
set { m_weight = value; }
}
public string Units
{
get { return m_units; }
set { m_units = value; }
}
} //end of class
次のようなものがある場合、グリッドは Sample クラスのプロパティにバインドされます
BindingList samples = new BindingList<Sample>();
つまり、6 種類のサンプルがあり、すべてプロパティが定義されています。最終的な継承構造は複雑になる可能性があるため、それだけの価値があるかどうか疑問に思っています。どんなフィードバックでも大歓迎です。
私はc#2.0を使用しています。Windows アプリです。