繁体   English   中英

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

[英]How do you bind a combobox to a Database and show values from an enum, or is this the right approach?

我在WinForm上有一些由枚举填充的组合框:

enum valueGenTypes
    {
        None = 0, Prefix = 1, All = 2, Abbreviation = 3, Number = 4
    }

我有一个组合框,该组合框绑定到数据库中的值为0-4的字段。

我已经将组合框数据源连接到枚举:

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

我会下拉这些值,但是它们不会保存或反映数据库中的内容。 如果这听起来很愚蠢,请原谅我,但是到目前为止,我只能将下拉列表单独链接到枚举或数据库(在组合框中具有预定义的值)。

有没有办法弥合之间的关系:

DBField = 0

ComboBox显示=“ None”

我应该使用枚举,还是正确的方法?

谢谢,

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

有了这个:

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

然后必须将数据绑定添加到组合框:

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

我发现了我的问题。 我们将CSLA与OR映射器配合使用。 我必须在OR对象上定义并填充枚举,然后在数据源中引用OR对象(表名称)。

基本上,枚举必须位于对象级别,而不是UI(窗体级别)。

多谢您的回覆!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM