CurrencyManager
Windows 窗体控件绑定到的任何数据源将都具有一个关联的 CurrencyManager 对象。
作用:CurrencyManager 对象跟踪位置,另外监控对该数据源的绑定。
注意:
对于当前绑定到的每个离散数据源,在窗体上都有一个 CurrencyManager 对象。如果窗体上的所有控件都绑定到一个源(例如,如果几个 TextBox 控件绑定到同一数据表),那么它们将共享同一个 CurrencyManager。
但是,有时窗体上的控件将绑定到不同的源。在这种情况下,窗体上有多个 CurrencyManager 对象,每个都跟踪控件正在使用哪个记录(Position属性)或数据元素。(Item_Change事件)
获取:
comboBox1.DisplayMember = "Customers.FirstName";
this.BindingContext[dataSet1, "Customers"].Position = 1;
作用:CurrencyManager 对象跟踪位置,另外监控对该数据源的绑定。
注意:
对于当前绑定到的每个离散数据源,在窗体上都有一个 CurrencyManager 对象。如果窗体上的所有控件都绑定到一个源(例如,如果几个 TextBox 控件绑定到同一数据表),那么它们将共享同一个 CurrencyManager。
但是,有时窗体上的控件将绑定到不同的源。在这种情况下,窗体上有多个 CurrencyManager 对象,每个都跟踪控件正在使用哪个记录(Position属性)或数据元素。(Item_Change事件)
获取:
每个 Windows 窗体都有一个 BindingContext 对象。BindingContext 对象跟踪窗体上的所有 CurrencyManager 对象。因此,任何具有数据绑定控件的 Windows 窗体都至少有一个跟踪一个(或多个)CurrencyManager 对象的 BindingContext 对象,而每个 CurrencyManager 对象又跟踪一个数据源。如果使用容器控件,如 GroupBox、Panel 或 TabControl 来包含数据绑定控件,则可以只为该容器控件及其控件创建一个 BindingContext。这使窗体的各个部分都由它自己的 CurrencyManager 对象来管理。有关为同一数据源创建多个 CurrencyManager 对象的更多详细信息,请参见 BindingContext 构造函数。
例子:
comboBox1.DisplayMember = "Customers.FirstName";
this.BindingContext[dataSet1, "Customers"].Position = 1;
另外,如果用一个DataSet帮定到一个DataView,而控件绑定到DataView而非DataSet。这个时候DataSet和DataView将产生2个不同的CurrencyManager。