问题标签 [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.
vb.net - dataGridViewCombobox 值未保存在导航器上保存按钮单击
这是一个使用 EF 的 VB.NET winforms 项目。ComboBox 绑定到一个单独的数据源,其中包含列 tName 和 tNumber。TName 是该值的简要描述,tNumber 是保存在财务表中名为 transaction_type 的列下的实际数字。在财务表中现有数据的显示上,一切都完美无缺。
网格中每个项目的组合框都显示了 transaction_type 的正确描述。但是,当我更改任何组合框的值并单击保存按钮时,它不会将任何值保存到 transaction_type。
任何想法为什么会这样?如果需要,我将添加任何缺少的代码..
form_load 事件如下所示:
而savebutton点击事件如下:
ComboBox 的属性如下所示:
应该注意的是,当单击保存按钮时,对数据网格的所有其他更改都会正确保存......经过进一步测试,如果不再选择 ComboBox,该值将实际保存。我想解决方法是在组合框的值更改后专注于其他事情。如果这似乎是最好的方法,我将如何挂钩 Datagridview 中组合框的 SelectedIndexChanged 事件???
c# - 在 Winform DataGridView 上填充 Combobox 列的向导
我正在使用 C# VS2010 Entity Framework sql Server。
我有一个非常(只读)简单的应用程序,可以按项目和学科显示和过滤工单。它使用 EF 来填充控件。使用向导,我将外键引用列“DisciplineID”(int) 更改为 ComboBox 列。当我使用向导更改它时,我使用学科表 (tblDiscipline) 的 EF 数据源填充该框,以简单地显示学科(管道、电气等)而不是整数外键。这是向导图像:
当我将 ProjectID 列保留为文本框控件时,它可以正常工作,显示整数 Discipline ID。当我如图所示进行更改时,我得到以下信息
“System.ArgumentException:DataGridViewComboBoxCell 值无效”
.
DisciplineID 可以为空。是这个问题吗?我该如何处理?或者是其他什么问题。这是一个生产数据库,因此参照完整性保证没有无效的密钥,尽管允许为空......
想法?
winforms - 未绑定的 Datagridviewcomboboxcolumn 值是否区分大小写?
datagridviewcomboboxcolumn
在未绑定的datagridview中使用a时,我遇到了一个奇怪的问题。该列最初填充了有效值,其中一些全为大写,一些混合大小写,但始终是唯一的。例如,“AB”、“AC”、“AiDA”、“AltCurr”、“BE”等。
选择任何大写项目时,一切正常。但是,如果我从单元格的下拉列表中选择一个大小写混合的项目,则会发出“单元格包含无效数据”DataError 事件,并且单元格选择“AB”(即无法找到选择,因此默认为到第一个条目)。
如果我将所有列表项都更改为大写,则不会出现问题(但实际上这不是一个选项!)。
我已经阅读了大量关于 BOUND datagridview 组合列中区分大小写的评论,解决方案是更改底层数据表上的区分大小写选项,但没有什么可以克服我的特定未绑定问题。
有没有其他人遇到过这个问题,如果有,你是如何解决的?
编辑:按要求编写代码示例...
Datagridviewcombobox 列已经在设计器中创建(col #2)。它从对象集合中填充如下:
行是从基础数据表中手动添加的:
到目前为止一切正常 - DGV 正确显示,单元格组合中的值全部正确。不再需要代码。
现在,如果我单击任何这些行上的下拉菜单来更改主题,除非我选择“AiDA”或“AltCurr”项目(即混合大小写的项目),否则一切正常。dataerror 上下文是 Formatting | 展示。
如果我选择任何全部大写的列表项,则不会出现问题。在我看来,组合单元格在其 objectcollection 中没有找到混合大小写项目 - 底层组合对象集合的大小写敏感性与 DGV 用于检查集合内有效性的任何大小写敏感性存在差异。
c# - 如何让 DataGridView 绑定到现有 DataTable 以显示 DropDownList 列?
我正在尝试创建具有以下特征的 DataGridView: - 它的 DataSource 是我创建的一个 DataTable,其中包含几列。- DataGridView 中的一列显示我填充的 DropDownList(它对应于我的 DataTable 中已有的列)。- 在 DropDownList 中选择的值填充 DataTable 中的基础列。
到目前为止,我能够通过将 DataGridView.AutoGenerateColumns 属性设置为 false,然后通过循环遍历 DataTable 中所有非 DropDownList 列的列并使用 DataGridViewComboBoxColumn(将该列的 DataSource 属性设置为我创建的列表)用于我想要作为 DropDownList 的列。
然而,这似乎既混乱又冗长(几乎不可能一概而论)。有没有更好的方法来达到同样的结果?
vb.net - 动态地将组合框单元添加到 datagridview
我有一个动态填充的datagridview。我希望根据某些条件在某些列中填充组合框。
但是我的组合框单元被添加到最底部的行而不是正确的行。
谁能告诉我需要做什么?
我哪里错了?
c# - DataGridView 设置列单元格 Combobox
我在 Datagridview 中有这样的表:
我想从组合框中更改列“金钱”值
我试过这个但不知道进一步:
vb.net - 如何在 vb.net 中将 datagridview 单元格样式从默认文本框更改为组合框?
我有一个从数据集中填充的 datagridview。
填充后,如果用户单击一行,最后一列应从文本框更改为组合框。
我正在使用 vb.net 2010。
在 Datagridview1 CellClick 事件上:
但这会导致错误:
如果情况不可行,我希望在从数据集中填充数据时,最后一列的类型为组合框。
提前致谢。
vb.net - 在 Datagridviewcomboboxcell 中看不到下拉项
我创建了 Datagridviewcomboboxcells,如下所示,每个单元格有 2-3 个项目。我可以在组合框单元内看到具有适当值的 Datagridview 组合框单元,但是当我单击组合框单元时,我看不到下拉列表。
我应该编写一个单独的事件处理程序来显示下拉列表吗?它默认不下拉吗?
令人惊讶的是,该项目的另一个备份上的代码相同,但这是我现在无法使用的旧版本。关于导致下拉菜单不发生的原因,我无法重现该错误。
c# - 绑定到数据源的 DataGridViewComboBox 允许空条目
是否可以设置 DataGridViewComboBox 以允许用户在绑定到数据源(如 BindingList)时清除条目?
如果是这样,如何实现?
c# - DataGridViewComboBoxColumns 绑定和返回数据
我正在使用DataGridView
其中一些DataGridViewComboBoxColumns
列指向不同的数据视图。当我使用过滤的数据视图设置数据源时,一切看起来都很好,但有时当组合更改时,数据网格视图填充了不正确的值。只有当 Combo 的未过滤数据包含具有相同值的多行时,才会发生这种情况,这些行将分配给父 Datagridview 的 DisplayMember。
例如(简单示例)客户的数据网格:
Country
&Shipping town
是基于国家和城镇表的数据视图外键的组合。显然, 的组合Shipping towns
被过滤以仅显示相应国家/地区的组合。如果 table ofShipping towns
包含 Torquay 的两个条目,一个在英格兰,一个在澳大利亚,当客户的国家是 England 时,会显示所有在Shipping Towns
England 的条目,如果选择 Torquay,则返回给父 datagridview 的值是 Torquay 的键值在澳大利亚,即使组合的过滤数据视图甚至不包含该值。仅当用作 Combo 的显示成员的数据视图列包含重复值时,才会发生这种情况。