Closing ContextChoicePopup after string filtering

Ok, i have populated my context choice popup list with 3 objects > eg, car, cardio and carpet.

As i press c on the keyboard, the list is displayed with all 3 items. As i type "car", all 3 remain but when i type "card", only cardio remains. This is as expected.

The problem is, is that if i typed "carb", then no entry matches this string and so results in an empty list. This is a little unfriendly, and i would prefer it if the context popup would close when no items are matched.

I've tried comparing the selected item with GetCurrentWord() and that doesnt work. Any help please?

Thanks in advanced, David.


4 Replies

AD Administrator Syncfusion Team March 18, 2009 12:10 PM UTC

Hi David,

Thank you for using Syncfusion products.

Please use the code snippet below to close the context popup if the entered string not matches the list.

[C#]

void editControl1_KeyUp(object sender, KeyEventArgs e)
{
string s = this.editControl1.GetCurrentWord();

if (s != "car" && s != "card" && s != "cardio")
{
this.editControl1.CloseContextChoice();
}
}

Please let me know if this helps you.

Regards,
Jaya




DA David March 18, 2009 01:10 PM UTC



>Hi David,

Thank you for using Syncfusion products.

Please use the code snippet below to close the context popup if the entered string not matches the list.

[C#]

void editControl1_KeyUp(object sender, KeyEventArgs e)
{
string s = this.editControl1.GetCurrentWord();

if (s != "car" && s != "card" && s != "cardio")
{
this.editControl1.CloseContextChoice();
}
}

Please let me know if this helps you.

Regards,
Jaya




Thats how i would do it, but i want a more generic approach. Instead of having to write

!= "car" && s != "card" && s != "cardio"...

Which is very tedious, could i have something like s != editcontrol1.contextchoicecontroller.selectedItem.Text

or something similar.



DA David March 18, 2009 10:02 PM UTC

Its ok i think i've solved it. I just tested whether there was anything selected in the context popup, if not then close it...

private void editControl1_KeyUp(object sender, KeyEventArgs e)
{
if (editControl1.ContextChoiceController.IsVisible)
{
if (editControl1.ContextChoiceController.SelectedItem == null)
{
editControl1.CloseContextChoice();
}
}
}

Thanks.



AD Administrator Syncfusion Team March 19, 2009 04:23 AM UTC

Hi David,

Thanks for the update.

Please let me know if you have any further questions.

Regards,
Jaya



Loader.
Up arrow icon