问题标签 [datagridviewcombobox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3200 浏览

c# - 网格视图组合框

如何将项目添加到数据网格视图组合框

0 投票
1 回答
1399 浏览

c# - DataGridViewComboBoxColumn - 编辑项目

我正在使用 DataGridView 并有一个 DataGridViewComboBox 类型的列,我偶然发现了一个问题。基本上,根据单元格的值,我想将 .Items 设置为一组特定的字符串,但是当值更改时,我想更改 .Items 列表。但是有了这个,我偶尔会从列表中删除一个当前被另一个 DataGridViewCell 占用的字符串,这会更改所有等于已删除项目的值,直到我将它重新添加回列表(在我完成之后编辑)。

所以基本上,我想知道是否有一种方法可以从组合框下拉列表中隐藏一些项目,以便在选择某个单元格时,他们无法选择不允许的项目。

谢谢,

劳埃德

0 投票
4 回答
11686 浏览

c# - 如何将 DataGridViewComboBoxColumn 绑定到对象?

我试图将 a 绑定DataGridViewComboBoxColumn到 Foo 的一个实例,但是当我在网格上设置一个值时,我得到一个ArgumentException告诉我我无法从 String 转换为 Foo 的消息。

我错过了什么吗?是否可以将数据绑定到复杂对象?

更新:

我实现了一个 TypeConverter 并覆盖了 CanConvertFrom、CanConvertTo、ConvertTo、ConvertFrom。现在我得到

FormatException:DataGridViewComboBoxCell 值无效

有任何想法吗?

0 投票
10 回答
88507 浏览

c# - DataGridViewComboBoxCell 绑定 - “值无效”

我正在尝试将 DataGridView 中的单独 ComboBox 单元格绑定到自定义类,并不断收到错误消息

DataGridViewComboBoxCell 值无效

我目前正在将单元格的数据源分配给IList<ICustomInterface>我拥有的字典中的一个。但是,在设置数据源时,ComboBoxCell未设置索引,因此选择了无效值。

我试图弄清楚如何让它选择一个实际值,例如列表中的第 0 个项目,它被赋予以消除此错误,或找到另一种解决问题的方法。有人有什么建议吗?

0 投票
1 回答
1621 浏览

c# - DataGridViewComboBox - 在 DataGridView 中显示“InActive”值

我有一个包含组合框 (DataGridViewComboBoxColumn) 的 DataGridView。该组合框填充了一组设置值。可以禁用这些设置值,以便在组合框中仅显示活动值,但是,仍然必须显示使用非活动值的现有条目(记录)。

我可以成功地遍历网格中的项目,如果记录的值不再处于活动状态(即 DataGridViewComboBoxCell 项目的一部分),我只需将其添加到该 DataGridViewComboBoxCell 的项目中。

问题:

我找不到放置此代码的地方,因此我不会得到可怕的“DataGridViewComboBoxCell 值无效”。

比如我可以把这段代码放到DataGridView的Paint事件中,网格功能就完美了。编辑/更新值没有问题,在显示方面也没有任何问题(始终显示非活动值)......但是,它仍然抛出“DataGridViewComboBoxCell 值无效。” 错误。

问题:

在将活动值添加到组合框 (DataGridViewComboBoxColumn) 之后,但在绑定记录以避免出现此错误之前,我可以在哪里添加代码(或如何)来添加“非活动”值?

0 投票
2 回答
4923 浏览

datagridview - 用 subsonic & vb.net 填充 datagridview 组合框列

就像标题说的那样,我正在尝试在 datagridview 中填充组合框列。

这是我到目前为止所拥有的:

关于我缺少什么的任何建议?

谢谢托尼·W

0 投票
2 回答
24336 浏览

c# - DataGridViewComboBoxColumn 名称/值如何?

我认为这很简单,就像在 Access 中一样。

用户需要将数据表中一列的值设置为 1 或 2。

我想展示一个组合框,显示“ONE”、“TWO”并在幕后设置 1 或 2,就像我在 Access-Forms 中做了很多次一样。

另一方面,如果显示表格,则不应显示 1 或 2,而是在 ComboBox 中显示相应的字符串。

我怎样才能让这个简单的任务工作?

0 投票
3 回答
6372 浏览

c# - DataGridViewCombBoxColumn 单元格值和不同的下拉列表

我有一个非常微不足道的要求,这让我发疯了。我在 Windows 窗体应用程序中有一个 DataGridView。这包含一个数据绑定的组合框列。我正在使用该组合框的 DisplayMember 和 ValueMember 属性。

现在我的要求是 ComboBox 应该在下拉列表中显示 DisplayMember 列表,但是当用户从中选择一项时,我应该在用户可见的组合框单元格中显示该 DisplayMember 的一部分。例如。

我的显示成员列表如下所示:

“Cust1 - 客户 1” “Cust2 - 客户 2” “Cust3 - 客户 3”

并且当用户从上面的列表中选择其中任何一个时(假设用户选择了“Cust2 - Customer 2”),那么我需要将组合框列单元格中的值显示为仅“Cust2”而不是完整的 DisplayMember 文本。

此 DisplayMember 列表是绑定到它的数据源中的两个字段的组合,即第一部分指向 CustomerCode 字段,第二部分指向客户名称。用户从下拉列表中选择一项后,我只需要在 ComboBox 单元格中显示 CustomerCode。

我怎样才能做到这一点?或者我应该想出我自己的控件,它将具有不同的 AutoCompleteCustomSource 并显示成员值。即使我也对这种方法感到困惑。

更新:因为没有人想出任何解决我的问题的方法。现在我为此开始赏金,如果有人可以建议我以其他方式实现相同的功能,那就太好了。

我什至尝试想出我自己的控件,并尝试使用简单的组合框来显示与所选下拉列表不同的值,即使这样也没有用。还有其他方法可以实现吗?任何提示和技巧都是非常可观的。

@Anurag:这是我使用过的代码。在设计模式下创建了一个datagridview。创建一列类型为“DataGridViewComboBoxColumn”的列,并将其命名为 CustomerColumn。

在设计器文件中,它如下所示:

这是我用于数据源的实体类

在表单加载事件中,我正在执行以下操作:

0 投票
3 回答
13795 浏览

c# - 如何使 ComboBox 下拉列表自行调整大小以适应最大的项目?

我有一个DataGridView带有 aComboBox的内容,其中可能包含一些相当大的字符串。有没有办法让下拉列表自行扩展或至少对字符串进行自动换行,这样用户就可以看到整个字符串,而无需我调整ComboBox列宽的大小?

0 投票
1 回答
1498 浏览

c# - 为什么显示下拉列表需要在 DataGridView 中单击两次?

我在控件中使用下拉列表DataGridView,但问题是我第一次单击下拉列表时,需要单击两次才能下拉列表并显示,但之后它工作正常。