问题标签 [datagridviewcomboboxcolumn]
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.
c# - 表 A DataGridViewComboBoxColumn 值显示在表 B DataGridViewComboBoxColumn 中
是否可以在表 B 中显示例如表 A 的DataGridViewComboBoxColumn
值DataGridViewComboBoxColumn
?
我已经尝试使用DataGridViewComboBoxColumn
A 的名称(名称定义为 Name = "Something")传递给 DataMember DataGridViewComboBoxColumn
"B",但它似乎不起作用,因为它引发错误,无法找到该列 "Something"。
vb.net - 设置 DataSource 属性时无法修改 DatagridviewCombobox Items 集合
我有一个使用 VB.NET 的 Windows 窗体应用程序,旨在升级 IIS Web 应用程序。
该应用程序有一个显示要升级的 Web 应用程序列表的 datagridview。其中一列是 DataGridViewComboBoxColumn。此组合框将其 DataSource 属性设置为数据表。我不为组合框使用绑定源。
这个想法是用户从 datagridview 行中的组合框中选择一个值,并更新同一 datagridview 行中的其他几个单元格的值。
EditingControlShowing 事件处理程序设置为设置组合框的 SelectedIndexChanged 事件。
ComboBox_Value_Changed 是更新其他单元格值的子例程。
当 datagridview 的 EditMode 属性设置为 EditOnEnter 时,还处理 datagridview 的 CurrentCellDirtyStateChanged 事件以立即提交当前编辑,并更新当前 datagridview 行中的单元格值。
这通常工作正常。我可以从 datagridview 的组合框中选择不同的值,然后其他单元格相应地更新,同时移动到不同的单元格。
我遇到的问题是用户更改组合框的值,然后将表单上的焦点更改为 datagridview 以外的其他内容,然后单击返回到组合框之一。这是触发 datagridview 的 DataError 事件并且我得到一些相同的错误的时候。
这是错误:
错误消息: 设置 DataSource 属性时无法修改 Items 集合。
错误 StackTrace: 在 System.Windows.Forms.DataGridViewComboBoxCell.InitializeEditingControl 的 System.Windows.Forms.ComboBox.CheckNoDataSource() 处 System.Windows.Forms.DataGridView.InitializeEditingControlValue(DataGridViewCellStyle& dataGridViewCellStyle, DataGridViewCellStyle)数据网格视图单元)
该错误显然意味着在设置数据源属性时组合框的项目集合正在被修改。但是,代码中没有任何地方添加、删除或清除组合框的项目集合。
如果我继续处理所有错误,或者在数据网格的 DataError 事件期间没有弹出任何消息,那么一切似乎都按原样发生。我可以继续从组合框等中选择值。但是,如果我再次更改焦点并返回组合框,错误会再次发生。
据我所知,是在 ComboBox_Value_Changed 子例程期间其他单元格的值更改导致错误。删除这些会使错误消失。
现在,如果我使用 SelectionChangeCommitted 事件而不是 SelectedIndexChanged 事件让组合框调用 ComboBox_Value_Changed 子例程,也不会发生此错误。这是我最初使用的事件,但在表单上的某些用户交互中并没有始终如一地提出。这就是我在对这些行为进行一些研究后切换到 SelectedIndexChanged 事件的原因。
我不确定为什么在这些情况下会修改组合框的项目集合。如前所述,我可以只处理 datagridview 的 DataError 事件而不生成任何消息,并且一切似乎都按预期工作。如果可能的话,我只想知道这里发生了什么。如果我不需要,我不喜欢在错误发生时压制它们。
vb.net - 在 DataGridView.ComboBoxColumn 上触发选定值更改事件
目前,当使用 ComboBoxes 在 DataGridViewColumn 中选择一个值时,用户必须单击该单元格才能通过CellValueChanged
DataGridView 上的事件刷新值。
我想要实现的是,一旦在 ComboBox 中选择了一个值,就会触发刷新。
下面是我尝试做的事情,以便在打开/关闭下拉列表时触发刷新,但它仅在单击组合框并且下拉列表可见时执行,而不是在选择值时执行。
c# - 带有组合框的 Datagridview 引用自己的数据集混合行
我有一个 DataGridView,它基于 BindingSource 引用的数据库中的 DataSet。在 DataSet 中有一个 ID 作为主键。此外,DataSet 中还有另一个字段,其中包含一个 BuddyID 引用同一表的另一行。以及一个包含元素名称的字段。
在 DataGridView 中有名为 DataGridViewTextboxColumn 的名称和 DataGridViewComboboxColumn ,您可以在其中选择另一个元素的名称来更改 BuddyID,由另一个 BindingSource 引用到相同的 DataSet。但这不像我想要的那样工作。
当您有两个元素作为彼此的好友并且您想要设置 ID 时,另一个元素的 BuddyID 也会更改为相同的值。虽然我没有改变其他 ComboBox 的价值正在改变!也许这是组合框的问题,但我不知道该怎么做才能解决这个问题。也许你的任何人?
编辑:两个(伙伴)元素具有相同的名称出现在组合框中
设计师生成的代码 - 不幸的是名称为“text”而不是“combo”:
设计人员为 DataGridView 编写的代码:
还有一些我自己调用的代码:
c# - Datagridviewcomboboxcolumn 在加载时显示空白
我有 1 个网格视图。单击网格视图单元格时,它将在另一个中显示相关数据gridview
。
现在另一个gridview
有了DataGridViewComboBoxColumn
。
它的数据正在加载,但在加载时显示空白。当我点击它时它正在显示DataGridViewComboBoxColumn
。
我想要的是显示数据而不是空白。
这将填充"grdAgingInvoice"
gridview
其他列
这将添加 DataGridViewComboBoxColumn
到"grdAgingInvoice"
gridview
.
winforms - 排序后带有 DataGridViewComboBoxColumns 的 DataGridView 填充选择
我有一个DataGridView
绑定到 SQL 结果的。之后我手动添加了三个DataGridViewComboBoxColumns
,它们由相应的 SQL 结果填充。
从每个 中选择一个条目时DataGridViewComboBoxCells
,将ValueMember
保存到数据库中。
一旦DataGridViewComboBoxColumns
添加,就会调用一个预选函数,该函数从数据库中读取选定的值,以始终查看最后一个状态。
到目前为止,一切都按预期工作。问题是,只要我DataGridView
通过单击任何列标题对它们进行排序,DataGridViewComboBoxCells
就不再预先选择它们。
所以,我想,通过添加一个.Sorted
调用我的预选函数的事件处理程序可以解决这个问题。但选择不再进行。
由于数据库的 ID 可以直接从行中读取,我不明白为什么它不能这样工作。
提前感谢您的任何想法。