In the SfDataGrid, by default the ComboBox is loaded while editing the cell values of the GridComboBoxColumn. It lists out the initially populated values that are bound to the ItemsSource property of the GridComboBoxColumn. The same ItemsSource is loaded to each cell of the GridComboBoxColumn. Since the ItemsSource is a single instance of the GridComboBoxColumn, you cannot load different ItemsSources to each cell while editing it.
To overcome this, you can use the GridTemplateColumn to create your own cell types. By specifying the CellTemplate and EditTemplate, you can customize the content in both displays and edit with the GridTemplateColumn. You can load any control in both Cell Template and Edit Template of the GridTemplateColumn.
Similarly, you can load the ComboBox in EditTemplate of the GridTemplateColumn and it creates a new ComboBox instance while editing the GridCell. Here, you can bind different ItemsSources to each row of the ComboBox as illustrated in following code example.
The ItemsSource for each row of the ComboBox is set based on the Country Name with the help of converter as illustrated in the following code example.
The following screenshot illustrates the different ShipCity ItemsSources bound to each row of the ComboBox based on the Country Name in the GridTemplateColumn.
Figure 1: ShipCity list of Argentina
Figure 2: Ship city list of Brazil
|Article ID:||Published Date:||Last Revised Date:||Platform:||Control:||.NET Framework:||Product Version:|