Hi,
I have a commandbardropdownlist control with AutoCompleteMode set to SuggestAppend. When data is entered, typed into the textbox, the suggested dropdown list works correct. Selecting an item of this suggested list does not seem to fire the SeletedIndexChanged event. Could you check out this issue or what could I have set incorrect?
Thanks,
Karl
I have a commandbardropdownlist control with AutoCompleteMode set to SuggestAppend. When data is entered, typed into the textbox, the suggested dropdown list works correct. Selecting an item of this suggested list does not seem to fire the SeletedIndexChanged event. Could you check out this issue or what could I have set incorrect?
Thanks,
Karl
4 Answers, 1 is accepted
0
Hi Karl,
Thank you for writing.
I have tested the described behavior and on my end the event si fired correctly in all three cases - typing the item name and pressing enter, selecting it with mouse from the autocomplete popup and moving through the items in the autocomplete popup with arrow keys.
Attached you can find a sample video.
Could you please provide me with a sample where the issue can be reproduced, so we can investigate it and provide you with adequate support.
I am looking forward to your reply.
Greetings,
Stefan
the Telerik team
Thank you for writing.
I have tested the described behavior and on my end the event si fired correctly in all three cases - typing the item name and pressing enter, selecting it with mouse from the autocomplete popup and moving through the items in the autocomplete popup with arrow keys.
Attached you can find a sample video.
Could you please provide me with a sample where the issue can be reproduced, so we can investigate it and provide you with adequate support.
I am looking forward to your reply.
Greetings,
Stefan
the Telerik team
RadControls for WinForms Q2'12 release is now live! Check out what's new or download a free trial >>
0
Karl
Top achievements
Rank 1
answered on 29 Sep 2012, 10:54 AM
Dear Stephan,
Thank you for the movie - and I can see it works at your end.
I'm going to send you some relevant code and lets see if we can track this down.
this is where i fill it
and here if it is selected
The SelectedIndexChanged is never reached if I type text into the textbox.
I hope this helps.
Karl
Thank you for the movie - and I can see it works at your end.
I'm going to send you some relevant code and lets see if we can track this down.
//
// commandBarDropDownList1
//
this
.commandBarDropDownList1.AccessibleDescription =
"commandBarDropDownList1"
;
this
.commandBarDropDownList1.AccessibleName =
"commandBarDropDownList1"
;
this
.commandBarDropDownList1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this
.commandBarDropDownList1.DefaultItemsCountInDropDown = 35;
this
.commandBarDropDownList1.DisplayName =
"commandBarDropDownList1"
;
this
.commandBarDropDownList1.DropDownAnimationEnabled =
true
;
this
.commandBarDropDownList1.MaxDropDownItems = 0;
this
.commandBarDropDownList1.MinSize =
new
System.Drawing.Size(156, 22);
this
.commandBarDropDownList1.Name =
"commandBarDropDownList1"
;
this
.commandBarDropDownList1.Text =
""
;
this
.commandBarDropDownList1.Visibility = Telerik.WinControls.ElementVisibility.Visible;
this
.commandBarDropDownList1.SelectedIndexChanged +=
new
Telerik.WinControls.UI.Data.PositionChangedEventHandler(
this
.commandBarDropDownList1_SelectedIndexChanged);
this
.commandBarDropDownList1.ItemDataBound +=
new
Telerik.WinControls.UI.ListItemDataBoundEventHandler(
this
.commandBarDropDownList1_ItemDataBound);
this is where i fill it
private
void
RadForm6ListView_Load(
object
sender, EventArgs e)
{
// this.commandBarDropDownList1.ItemDataBound -= new Telerik.WinControls.UI.ListItemDataBoundEventHandler(this.commandBarDropDownList1_ItemDataBound);
this
.Text =
"Liste"
;
this
.FillTableAndConnect2ListView();
this
.radListView1.AllowEdit =
false
;
this
.radListView1.AllowRemove =
false
;
this
.radListView1.ViewType = ListViewType.IconsView;
string
thisSQL =
" SELECT Count(T_Tag.GlossarID) AS Anzahl, T_Glossar.DE as Begriff, T_Glossar.GlossarID as ID "
;
thisSQL +=
" FROM T_Glossar LEFT JOIN T_Tag ON T_Glossar.GlossarID = T_Tag.GlossarID "
;
thisSQL +=
" GROUP BY T_Glossar.DE, T_Glossar.GlossarID "
;
thisSQL +=
" HAVING (((Count(T_Tag.GlossarID))>0)) "
;
thisSQL +=
" ORDER BY T_Glossar.DE;"
;
FillDropDown(thisSQL,
this
.commandBarDropDownList1);
and here if it is selected
private
void
commandBarDropDownList1_ItemDataBound(
object
sender, ListItemDataBoundEventArgs args)
{
// DataRow newrow = (DataRow)args.NewItem.DataBoundItem;
DataRowView view = (DataRowView)args.NewItem.DataBoundItem;
args.NewItem.Text = view[
"Begriff"
].ToString().Trim() +
" "
+ view[
"Anzahl"
];
}
private
void
commandBarDropDownList1_SelectedIndexChanged(
object
sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
if
(commandBarDropDownList1.SelectedValue ==
null
)
return
;
this
.radListView1.FilterDescriptors.Clear();
string
smyGlossarID = commandBarDropDownList1.SelectedValue.ToString();
if
(smyGlossarID ==
"System.Data.DataRowView"
)
return
;
I hope this helps.
Karl
0
Accepted
Hi Karl,
The observed behavior is caused by the fact that you are changing the item text in the ItemDataBound event. When you attempt to change the selected item it searches for the item text and since you have changed it, the control is not able to find the corresponding item to select it. This is the default behavior and it cannot be changed.
What I can offer is to change the item text in the VisualItemFormatting event instead of the ItemDataBound event, however, this will only change the item appearace in the main drop down:
Alternatively, you can use unbound mode and populate the control with items with whatever text you want.
I hope this helps.
Kind regards,
Stefan
the Telerik team
The observed behavior is caused by the fact that you are changing the item text in the ItemDataBound event. When you attempt to change the selected item it searches for the item text and since you have changed it, the control is not able to find the corresponding item to select it. This is the default behavior and it cannot be changed.
What I can offer is to change the item text in the VisualItemFormatting event instead of the ItemDataBound event, however, this will only change the item appearace in the main drop down:
void
commandBarDropDownList1_VisualItemFormatting(
object
sender, Telerik.WinControls.UI.VisualItemFormattingEventArgs args)
{
DataRowView view = (DataRowView)args.VisualItem.Data.DataBoundItem;
args.VisualItem.Text = view[
"Name"
].ToString().Trim() +
" "
+ view[
"Id"
];
}
Alternatively, you can use unbound mode and populate the control with items with whatever text you want.
I hope this helps.
Kind regards,
Stefan
the Telerik team
RadControls for WinForms Q2'12 release is now live! Check out what's new or download a free trial >>
0
Karl
Top achievements
Rank 1
answered on 01 Oct 2012, 03:36 PM
Thank you Stephan!
It works perfectly!
Karl
It works perfectly!
Karl