我有一个带有 Devexpress GridControl 的 Windows 窗体,其数据源绑定到FleetPreference.ManufacturerList
where ManufacturerList
is aBindingList<ManufacturerItem>
并且FleetPreference
是窗体上的公共属性。
IE
public class FleetPreference : FleetPreferenceBase
{
////
////
////
}
public class FleetPreferenceBase
{
public BindingList<ManufacturerItem> ManufacturerList { get; set; }
}
public class Form1
{
public FleetPreference FleetPreference { get; set; }
public BindingList<ManufacturerItem> ManufacturerList { get; set; }
public Form1()
{
this.gridControl1.DataSource =
FleetPreference.ManufacturerList; // doesn't auto-update grid
this.gridControl1.DataSource =
ManufacturerList; // does auto-update grid
}
}
通过调用向集合FleetPreference.ManufacturerList.AddNew()
添加新项目时,会将新项目添加到原始列表中,但不会更新 GridControl 的数据源。
在进行一些检查后,当我BindingList<ManufacturerItem>
向表单添加一个新属性并将控件绑定到该属性时,自动更新按预期工作。
是否有任何理由为什么使用嵌套属性不会像预期的那样自动向 GridControl 提供刷新事件?