我现在有一个类和我在试图创建一个简单的图形用户界面,创建一个收集这一类。大多数的属性的这类串。然而,一个属性,我想让用户能够设置为一枚举。因此,我想用户界面,有一个下拉列表对这枚举,限制用户进入价值,是不是有效的。目前,我正在采取的初步名单的对象,把它们添加到一的数据表和设置数据源的我的条件下表。很好地工作,甚至创建一个框列为一个布尔的财产。但是,我不知道如何使列枚举成一下拉列表.我使用的C#。网2.0.

此外,我们试图分配的数据源的条件以列表我的对象,但是当我这样做,它不会帮助枚举,我无法创造新的行中的条件,但是我是绝对不能使用一个数据表,作为我的数据源,这只是选择我有半工作。

有帮助吗?

解决方案

我不知道如果这会的工作有一个条件列,但它与工作组合框:

comboBox1.DataSource = Enum.GetValues(typeof(MyEnum));

并且:

MyEnum value = (MyEnum)comboBox1.SelectedValue;

更新:它适用条件列也只记得的值设置的类型。

DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.Name = "My Enum Column";
col.DataSource = Enum.GetValues(typeof(MyEnum));
col.ValueType = typeof(MyEnum);
dataGridView1.Columns.Add(col);

其他提示

或者,如果你需要做一些过滤的数值,就可以循环 Enum.GetValues(typeof(EnumeratorName)) 并添加那些你想要的使用:

dataGridViewComboBoxColumn.Items.Add(EnumeratorValue)

作为一个一旁,而不是使用一个数据表,可以设置数据源的条件对一个BindingSource对象,有的数据源的BindingSource目的设置一个 BindingList<Your Class>, 你填充通过一个 IList 成本构造。

实际上,我会有兴趣知道,从任何人如果这是最好采用一个数据表的情况下,你已经没有一个(即这是返回的一个数据库呼叫)。

    if(e.KeyCode == Keys.Oem3)
    {

    }

这个工作对我来说

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top