如何将组合框绑定到数据库并显示enum中的值,或者这是正确的方法吗?
本文关键字:或者 方法 组合 绑定 enum 显示 数据库 | 更新日期: 2023-09-27 18:05:03
我在WinForm上有一些组合框已经被enum填充:
enum valueGenTypes
{
None = 0, Prefix = 1, All = 2, Abbreviation = 3, Number = 4
}
我有一个组合框,绑定到数据库中的一个字段,该字段的值为0-4。
我已经将combobox数据源连接到enum:
valGenTypeID.Properties.DataSource = Enum.GetValues(typeof(valueGenTypes));
我得到值的下拉列表,但是,它们不保存或反映数据库中的内容。如果这听起来很愚蠢,请原谅我,但到目前为止,看起来我只能将下拉列表单独链接到enum或DB(在组合框中使用预定义的值)。
是否有一种方法可以连接以下关系:
DBField = 0
ComboBox displays = "None"
我应该使用enum吗,或者这是正确的方法吗?
谢谢,
您可以将您想要选择的值设置为枚举值,但是您将需要将Combobox的EditValue
绑定到您想要操作的Database字段。
加上这个:
valGenTypeID.DataSource = Enum.GetValues(typeof(valueGenTypes));
那么你必须添加数据绑定到组合框:
valGenTypeID.DataBindings.Add("SelectedItem", ClassWithValGen, "ValGenField", false, DataSourceUpdateMode.OnPropertyChanged);
我找到我的问题了。我们使用带有OR映射器的CSLA。我必须在OR对象上定义和填充枚举,然后在数据源中引用OR对象(表名)。
基本上,枚举必须在对象级别,而不是UI(表单级别)。
谢谢你的回复!