Posted 10 December 2019, 7:54 pm EST
Hi,
To detect the moment in which end-user enters a character, you should use C1DataGrid’s BeganEdit event and inside handle C1Combobox’s (editor for DataGridComboBoxColumn) PreviewKeyDown event, as follows:
void grid_BeganEdit(object sender, DataGridBeganEditEventArgs e)
{
if(e.Column.GetType() == typeof(DataGridComboBoxColumn))
{
var editor = e.EditingElement;
editor.PreviewKeyDown += Editor_PreviewKeyDown;
}
}
private void Editor_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
bool itmFound = false;
var cmb = sender as C1ComboBox;
foreach (Country cntry in cmb.Items)
{
if(cntry.Name.StartsWith(e.Key.ToString()))
{
itmFound = true;
break;
}
}
if(!itmFound)
{
MessageBox.Show("No option starts with the entered letter");
}
}
Best wishes,
Ruchir
C1DataGrid_ComboCols.zip