cf.net中的DataTable类型的数组绑定

时间:2010-08-23 14:21:47

标签: c# .net arrays data-binding

我想创建一个(非常轻量级)双向绑定数据存储区。必须通过 names 访问值。我在考虑使用2个数组:

public class MyBindingDatastore{
    public string[] _names = new string[]{"Field1", "Field2", "Field3"}
    public object[] _values = new object[]{ DateTime.Now, "MyValue", 1}
}

第一个数组用于存储字段名称(总是1行)。第二个数组(如果超过1个记录,也可以是2D)表示值矩阵。 使用GUI小部件(Resco detailview或任何支持双向数据绑定),我想指定:

MyControl.DataMember = "Field1";
MyControl.DataSource = new MyBindingDatastore();

数据绑定的结果应该从值数组中正确显示值。更改GUI窗口小部件中的值后,必须在数据存储区(值数组)中进行更改。

关于如何实现这一点的任何想法?或者,使用更臃肿的 DataTable 类来模仿数据表绑定是否更好(我相信DataTable对数组有很多开销)?

1 个答案:

答案 0 :(得分:0)

如果您想使用DataBinding,您应该坚持使用DataTable。否则,无论如何都必须实现自己的数据绑定。如果您关心内存大小,请寻找一种方法来最小化一次加载到内存的数据量。