如何将组合框绑定到数据库并显示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吗,或者这是正确的方法吗?

谢谢,

如何将组合框绑定到数据库并显示enum中的值,或者这是正确的方法吗?

您可以将您想要选择的值设置为枚举值,但是您将需要将Combobox的EditValue绑定到您想要操作的Database字段。

加上这个:

valGenTypeID.DataSource = Enum.GetValues(typeof(valueGenTypes));

那么你必须添加数据绑定到组合框:

valGenTypeID.DataBindings.Add("SelectedItem", ClassWithValGen, "ValGenField", false, DataSourceUpdateMode.OnPropertyChanged);

我找到我的问题了。我们使用带有OR映射器的CSLA。我必须在OR对象上定义和填充枚举,然后在数据源中引用OR对象(表名)。

基本上,枚举必须在对象级别,而不是UI(表单级别)。

谢谢你的回复!

相关文章: