Category / Section
How to use a ComboBox in a cell in WinForms GridControl?
1 min read
Combobox in a grid cell
The control type of a cell is a part of the cell style that is determined by the GridStyleInfo.CellType property. To have a ComboBox cell in a grid, set the cell type to ComboBox. The items in the ComboBox are held in the style’s DataSource property.
C#
//String collection to set the data source/choice list for the ComboBox StringCollection items = new StringCollection(); items.Add("One"); items.Add("Two"); items.Add("Three"); items.Add("Four"); items.Add("Five"); //Set the cell type as ComboBox cell. gridControl1[2, 3].CellType = "ComboBox"; //Set datasource for the combobox cell gridControl1[2, 3].DataSource = items; gridControl1[2, 3].CellValue = "Five"; gridControl1[2, 3].ExclusiveChoiceList = true; //By using StyleInfo GridStyleInfo style = new GridStyleInfo(); //Set cell type as ComboBox cell. style.CellType = "ComboBox"; style.DataSource = items; style.CellValue = "Five"; //Apply ComboBox cell style usign ChangeCels method gridControl1.ChangeCells(GridRangeInfo.Cell(2, 4), style);
VB
'String collection to set the data source/choice list for the ComboBox Dim items As New StringCollection() items.Add("One") items.Add("Two") items.Add("Three") items.Add("Four") items.Add("Five") 'Set the cell type as ComboBox cell. gridControl1(2, 3).CellType = "ComboBox" 'Set datasource for the combobox cell gridControl1(2, 3).DataSource = items gridControl1(2, 3).CellValue = "Five" gridControl1(2, 3).ExclusiveChoiceList = True 'By using StyleInfo Dim style As New GridStyleInfo() 'Set cell type as ComboBox cell. style.CellType = "ComboBox" style.DataSource = items style.CellValue = "Five" 'Apply ComboBox cell style usign ChangeCels method gridControl1.ChangeCells(GridRangeInfo.Cell(2, 4), style)
Figure 1: ComboBox cell in a grid.
Note:
The GridCellTypeName class has the collection of properties for the cell types. By using the ChoiceList property, you can also set the source to the ComboBox.
Samples:
C#: ComboBoxCell
VB: ComboBoxCell