问题标签 [datagridviewcomboboxcell]

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 投票
1 回答
7972 浏览

vb.net - DatagridViewComboboxCell selectedindexchanged 不起作用

我一直在使用 VS2005 和 VB.NET 进行项目,在这个项目中,我有一个 DataGridView,里面有 3 个 DataGridViewComboboxCell。我一直在尝试做的是,当用户从第一个 DataGridViewComboboxCell 中选择一个值时,其他 2 个单元格的值会发生变化。这是该部分的代码:

我遇到的第一个问题是,当我打开组合框列表并键入I以选择以I. 组合框不会刷新以选择此项,并且总是返回到组合框中的第一项,所以我要做的是改变他自己的 SelectedIndexChange 组合框的值,如下所示:

第二个问题是,当我键入另一个字母来选择一个以该字母开头的项目并且没有按 Enter 或单击我更改为另一个 DatagridViewComboboxCell 的项目时,再次引发 SelectedIndexChanged 事件的组合框将其值更改为中的第一个项目组合框。

知道为什么会这样吗?

0 投票
1 回答
818 浏览

c# - 无法在 DataGridViewComboBoxCell 中获取最后选择的项目

我的问题是这样的:我有一个具有 datagridview 的 C# 应用程序,它的列中有一些文本框和组合框。所有列都从数据库中获取数据。文本框是只读的。当我要求每行中的值时,我将最后一个选定组件的值(即组合框的值,因为文本框是只读的)设为空。

例如:

我连续有 10 个单元格。组合框位于连续第 7、第 8 和第 9 个索引处,其中从 0 到 6 的索引是 texbox。当我选择其中 3 个(按 7、8、9 的顺序)时,我无法获得 9 的单元格值。

row.Cells[7].Value可以, row.Cells[8].Value可以,并且 row.Cells[9].Valuenull

当我选择其中任何两个时,先说 8,然后说 7,我无法获得 7 的单元格值。

row.Cells[8].Value没关系, row.Cells[7].Valuenull

当我只选择一项让我们说 9 时,我再次将单元格值设为空。

结果,我将最后选择的 DataGridViewComboBoxCell 设为空。

谁能帮我解决我的问题?感谢你的帮助。

这是我的代码:

0 投票
1 回答
2509 浏览

c# - 在 DataGridView 中将值设置为 ComboBoxCell

我想为实际上是组合框单元格的单元格设置一个值。我为我的另一个项目完成了它,但现在以同样的方式,不起作用!

这是我的代码

这段代码正在向网格中添加行

但我遇到了一个错误,我用了这个

错误是

在此处输入图像描述

0 投票
1 回答
786 浏览

c# - 与 DataGridViewComboBoxCell 不同的数据源

我有一个数据表。

货币 ID | 货币


0 | 美元

1 | 铢

2 | 欧元

5 | 卢比

6 | 日元

我已将此表绑定到 DataGridViewCombobox 单元格。用户可以选择一种货币一次。如果用户在第一个 DataGridViewRow 中选择“USD”,则下一行的组合框将没有“USD”。我能得到它吗?我试过这个。

我无法修改 DataSource 属性。我怎么才能得到它?谢谢。

0 投票
1 回答
824 浏览

c# - 更改 DataGridViewComboBoxCell 选定项的样式(前色)

我真的很想更改单个 DataGridVeiwComboBox 控件的选定项的样式。

有一个数据库将信息输入我的 DataGridView,如果由于某种原因数据无效,我想以某种方式通知用户。我决定将下拉文本字体设为红色,背景设为蓝色,这样它就可以在数百行的列表中脱颖而出。

当存在无效数据(意味着来自数据库的数据不是下拉列表中的选项之一)时,调用 DataError 回调:

但是,这会导致以下结果:

在此处输入图像描述

我不希望下拉更改,我希望更改所选值的“0”。

是否有另一种方法来通知用户该值无效?我不想创建一个列表并将其呈现给用户,行数可能非常大。

0 投票
0 回答
344 浏览

c# - C# DataGridViewComboBoxCell 选择项更改值类型

我遇到了 DataGridViewComboBoxCell 行为的问题。

我有几个TextBoxColumns和一个DataGridViewComboBoxColumn
我以编程方式添加行并将 Datarows 添加为 ComboBoxCell 的项目。我将单元格的DisplayMember设置为行的属性(“字符串”)。

到目前为止一切正常。显示属性的值,当我访问单元格的属性时,我得到数据行。从单元格中选择另一个项目时,单元格的值将更改为“字符串”属性的内容,而不是将其更改为基础 DataRow。ComboBoxCell的Items集合保持不变,当我再次构建 DGV 时,我再次将底层 DataRows 作为值。

谁能向我解释为什么 DatagridviewComboboxcell 会这样?访问值时,我总是想获取 Datarow,而不是 DisplayMember 的 FormatedValue。

0 投票
1 回答
277 浏览

winforms - Manually add a DataGridViewRow WITH a pre-populated combo box: DataGridViewComboBoxColumn

HELP! Been trying hard to manually add a DataGridViewRow row WITH a pre-populated combo box... a DataGridViewComboBoxColumn to be exact. I just want to have it automatically populate with strings, shipping options "Ground", "Air", etc. I have gotten so far as to see the first value in the drop down box, but the system says

System.ArguementException: DataGridViewComboBoxCell value is not valid

...and I have never been able to 'drop' the combobox control down (open it up) I want to just make the column, and have it automagically fill with the combobox and its string values, but I have lately been messing around with "DataGridViewComboBoxCell" which I hope I do not ultimately need... THANK YOU I AM STUCK!!!

I made a simple test: using the designer to make a single DatagridviewComboBoxColumn and add items. Funny that this causes an error: 'theDataGridViewComboBoxCell value is not valid' ...I see talk on the www that there is an inherent MS bug lurking within...

0 投票
1 回答
275 浏览

c# - 从文本文件中放入数据并将 ComboBox 放入 DataGridView

我尝试从我所做的文本文件中获取数据。接下来我想要一列作为组合框。我不知道该怎么做。我应该按相反的顺序做吗?如何将 ColumnComboBox 放在现有的 DataGridView 中?

创建列 ComboBox 的代码:

0 投票
0 回答
1054 浏览

c# - DataGridViewCell.ReadOnly = false 不起作用

好的,所以我有这段代码,我尝试将所有行设置为只读,但有几行。

由于条件逐行更改,我将所有单元格设置为只读,然后解锁我需要的单元格。

不涉及数据绑定。我“按原样”使用网格。

单元格[1] 是一个 DataGridViewTextBoxCell

单元格[4] 是一个 DataGridViewComboBoxCell

当我这样做时:

好的,所以我尝试了其他方法:

这是列定义:

我只是不明白。

编辑

这就是我创建行的方式:我首先创建所有(数百个)行,然后一举将它们添加到 DataGridView,以避免 UI 刷新:

0 投票
1 回答
210 浏览

c# - 使用查询结果创建和绑定 DataGridViewColumn。将其添加到 DataGridView

我拼命尝试以编程方式将 DataGridViewComboBoxColumn 添加到我的 DataGridView 中。这是我到目前为止的代码。

但是我在组合框列中没有数据,并且由于我添加了数据源,因此我无法在其中添加项目(活动,非活动)。此外,当我单击它时,应该会出现一个小的下拉列表,即使对于空的组合框也是如此,但它不会。提前致谢!