I'm using the RadMultiColumnComboBox control with the GridViewItemsSourceProvider. It's showing a validation error that something "cannot be empty" and I can't get it to go away. Because this control is just used to select a record, I don't want any kind of validation in the grid of any kind. I've tried setting these properties on the bindings for each column:
ValidatesOnDataErrors = false,
ValidatesOnNotifyDataErrors = false,
ValidatesOnExceptions = false,
NotifyOnValidationError = false,
I've also tried setting the grid view's validation mode to none. I've tried setting these properties on the columns:
IsReadOnly = true,
ValidatesOnDataErrors = Telerik.Windows.Controls.GridViewValidationMode.None
Nothing works.

The data in all of our multi column combo boxes has a key value always as the first column in the grid. We want our users to be able to enter one of those key values then hit tab to select it. However, in some cases, just entering the key value doesn't cause the record with that key value to be at the top, so when the user hits tab it selects the top record instead of the record matching the key value entered.
See example below with US states as values:

In scenarios like these, I'd like to be able override the default selection logic and see if there is a record where the text in the search box exactly matches a key value, if so, select that value instead of the first value.
This was the last thing I tried inside the PreviewKeyDown event but it seemed to freeze and then not work as expected.
if (e.Key == System.Windows.Input.Key.Tab)
{
string typedText = MultiColumnComboBox
.FindChildByType<TextBox>()
.Text
.Trim();
if (MultiColumnComboBox.DropDownContentManager.DropDownElement is RadGridView gridView)
{
string keyFieldName = gridView.Columns[0].UniqueName;
var itemToSelect = gridView.Items
.OfType<DataRow>()
.FirstOrDefault(row =>
{
var keyValue = row[keyFieldName];
return keyValue != null &&
keyValue.ToString().Equals(typedText, StringComparison.OrdinalIgnoreCase);
});
if (itemToSelect != null)
{
gridView.SelectedItem = itemToSelect;
}
}
}
When the user is using the MultiColumnComboBox, if they open the combo box, then use the arrow keys to highlight a row in the grid, but then change their mind and hit escape to close the dropdown, then want to move to the next field so they hit tab, it then selects the last record that was highlighted in the grid. This seems like a bug to me. The docs for this control say "Escape: Pressing Escape will close the DropDown and the matched item would not be selected."
If the user can't tab out of the field without selecting a record, how can they leave the field without selecting a record with just the keyboard?
I was able to duplicate this functionality in the demo app. See zipped GIF in the attachments.
There's an issue with the RadMultiColumnComboBox in that the inner text field is left aligned so if the user doesn't click exactly in the text box, then they can't type anything.
In the attached image, I set the border of the inner textbox to red just for a visual aid. If the user clicks anywhere inside the red border, then the field gets focus and they can type and everything works as expected. However, if they're not focused on that field and they try to click to the right of the red border, it does nothing and to the user, it feels buggy.
I tried setting the horizontal alignment of the text box to stretch, but that had no effect. Is there a fix for this?
I'm having an issue with the RadMultiColumnComboBox where it accepts returns, so it grows the field when it shouldn't. I tried this but it had no effect:
private void MultiColumnComboBox_Loaded(object sender, RoutedEventArgs e)
{
var textBox = MultiColumnComboBox.FindChildByType<TextBox>();
if (textBox != null)
{
textBox.AcceptsReturn = false;
textBox.AcceptsTab = false;
}
}I've been working with the Telerik WPF controls for the last couple of months and appreciating them.
<rant>
However, I have a major gripe as well: most of the examples are FAR too complex. Here's a perfect example. I'm trying to get a ComboBox to work with a GridView. There is an example that does pretty much exactly what I want at https://github.com/telerik/xaml-sdk/tree/master/ComboBox/DropDownWithHeaders. However,
There is also an example of this at https://www.telerik.com/forums/radcombobox-with-radgridview, but it suffers from the same problems.
This kind of thing seriously makes me ponder going back to our old controls provider.
</rant>
Now, can someone please provide me with a simple example of a ComboBox that uses a GridView for the drop-down?
Of course perhaps I'm using the wrong control. Maybe I should be using the MultiColumnComboBox, but the end results shown in the examples make it look nothing like a traditional ComboBox. (Again, that may be owing to a lack of a good, simple example.)
Help?
Hi,
I'm using a RadMultiColumnComboBox and can't seem to be able to set the validation error template to Tooltip using:
telerik:ValidationErrorTemplateHelper.DisplayMode="ToolTip"It always set the validation message on the right of the control, and in my case it's being clipped by the windows limits.
This usually works great on all other controls.
Thank you for your help