我正在从 DataTable 切换到 BindingList。我将 DataTable 绑定到 DataGrid 对象。
这是我的困境:虽然我当然看到了转换的好处,但我的情况会使它有点复杂,我想知道转换是否值得。
我的场景:我有一个显示化学样品的 DataGrid。有 5 种样本类型,每种类型的网格中的列会有所不同(有时基于其他参数在同一类型内)。有些列保持不变,有些存在 3 种类型,有些存在 4 种等等。不完全是简单继承的情况。目前,我有一个 DataTable,这很容易,因为我可以加载我想要的任何列,而不必为每个样本类型设置属性,如果我使用 BindingList,我将不得不这样做。但是,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 应用程序。