C#/vb.NET绑定的DataGridView:将事件处理程序添加到DataGridViewComboxCell

C#/vb.NET绑定的DataGridView:将事件处理程序添加到DataGridViewComboxCell,c#,vb.net,datagridview,combobox,addhandler,C#,Vb.net,Datagridview,Combobox,Addhandler,我有一个绑定的dataGridView,其中我使用bindinglist加载一个对象列表。 每行有一个DataGridViewComboxCell和一个textcell。组合框用枚举值填充。 根据组合框中选择的项目,textcell应具有另一个cellStyle。例如,如果用户选择组合框的第一项,则单元格应为绿色,如果用户选择第二项,则单元格应为蓝色,依此类推。。。 当用户向dataGridView添加新行时,我在DataGridViewComboxCell上实现了处理程序。这在使用DataGr

我有一个绑定的dataGridView,其中我使用bindinglist加载一个对象列表。 每行有一个DataGridViewComboxCell和一个textcell。组合框用枚举值填充。 根据组合框中选择的项目,textcell应具有另一个cellStyle。例如,如果用户选择组合框的第一项,则单元格应为绿色,如果用户选择第二项,则单元格应为蓝色,依此类推。。。 当用户向dataGridView添加新行时,我在DataGridViewComboxCell上实现了处理程序。这在使用DataGridView.EditingControlShowing事件时非常有效

但是,如果将包含对象的列表绑定到datagridview,则不会触发EditingControlShowing事件。因此,我需要知道当数据加载到dataGridView(使用datasource)时,如何将EventHandler添加到DataGridViewComboxCells


我发现,我可以使用DataSourceChanged事件获取所有数据,但我无法访问cells控件来添加处理程序。

正如JayV发布的:我可以在加载数据时使用CellFormatting。如果用户更改了组合框中的项目,则处理程序将添加到组合框中,并且它将正常工作。

我认为您最好处理
CellFormatting
事件,检查那里的单元格,然后分配格式。我认为您是对的。在加载数据源时,我应该根据数据设置cellstyle。如果用户更改组合框中的项目,则会添加处理程序,它的工作方式类似于一个符咒。:)