C# / vb.NET 绑定 DataGridView:将事件处理程序添加到 DataGridViewComboboxCell
C# / vb.NET Bound DataGridView: Add Event Handler to DataGridViewComboboxCell
我有一个绑定的 dataGridView,我在其中使用绑定列表加载对象列表。
每行都有一个 datagridviewcomboboxCell 和一个文本单元格。组合框充满了枚举值。
根据在组合框中选择的项目,文本单元格应该有另一个 cellStyle。例如。如果用户选择组合框的第一项,则单元格应为绿色,如果他选择第二项,则单元格应为蓝色,依此类推...
当用户向 dataGridView 添加新行时,我在 dataGridviewComboboxCell 上实现了处理程序。使用 DataGridView.EditingControlShowing 事件非常有效。
但是如果我将包含对象的列表绑定到 datagridview,则不会触发 EditingControlShowing 事件。所以我需要知道当数据加载到 dataGridView(使用数据源)时如何将事件处理程序添加到 datagridviewComboboxCells。
我想通了,我可以使用 DataSourceChanged 事件获取所有数据,但我无法访问单元格控件来添加处理程序。
正如 JayV 发布的那样:我可以在加载数据时使用 CellFormatting。如果用户更改组合框中的项目,则处理程序将添加到组合框中并按预期工作。
我有一个绑定的 dataGridView,我在其中使用绑定列表加载对象列表。 每行都有一个 datagridviewcomboboxCell 和一个文本单元格。组合框充满了枚举值。 根据在组合框中选择的项目,文本单元格应该有另一个 cellStyle。例如。如果用户选择组合框的第一项,则单元格应为绿色,如果他选择第二项,则单元格应为蓝色,依此类推... 当用户向 dataGridView 添加新行时,我在 dataGridviewComboboxCell 上实现了处理程序。使用 DataGridView.EditingControlShowing 事件非常有效。
但是如果我将包含对象的列表绑定到 datagridview,则不会触发 EditingControlShowing 事件。所以我需要知道当数据加载到 dataGridView(使用数据源)时如何将事件处理程序添加到 datagridviewComboboxCells。
我想通了,我可以使用 DataSourceChanged 事件获取所有数据,但我无法访问单元格控件来添加处理程序。
正如 JayV 发布的那样:我可以在加载数据时使用 CellFormatting。如果用户更改组合框中的项目,则处理程序将添加到组合框中并按预期工作。