
Callon Campbell
Top achievements
Rank 2
Callon Campbell
asked on 13 Aug 2010, 08:00 PM
I have 2 drop downs publisher and heading. If I change the publisher and select a heading with a different value but the same text as the previously selected heading the selected value does not update. But if I select a completely different heading with different text and value it works fine.
Here is my code
function PublisherChanged(combo, eventArqs)
{
directories.clearSelection()
headings.clearSelection();
directories.clearItems();
headings.clearItems();
directories.requestItems('',false);
headings.requestItems('',false);
}
private void PopulateHeadings(string publisherName, string text)
{
if (publisherName == "") return;
DataTable data = GetHeadings(publisherName, text);
bool noResults = false;
if (data.Rows.Count == 0)
{
noResults = true;
DataRow row = data.Rows.Add();
row["value"] = "[No Results]";
row["Id"] = "0";
}
headings.DataSource = GetTopN(data, 15);
headings.DataTextField = "value";
headings.DataValueField = "Id";
headings.DataBind();
if (noResults)
{
headings.Items[0].Enabled = false;
}
}
Is the a bug in the control or am I using the control incorrectly?
Here is my code
function PublisherChanged(combo, eventArqs)
{
directories.clearSelection()
headings.clearSelection();
directories.clearItems();
headings.clearItems();
directories.requestItems('',false);
headings.requestItems('',false);
}
private void PopulateHeadings(string publisherName, string text)
{
if (publisherName == "") return;
DataTable data = GetHeadings(publisherName, text);
bool noResults = false;
if (data.Rows.Count == 0)
{
noResults = true;
DataRow row = data.Rows.Add();
row["value"] = "[No Results]";
row["Id"] = "0";
}
headings.DataSource = GetTopN(data, 15);
headings.DataTextField = "value";
headings.DataValueField = "Id";
headings.DataBind();
if (noResults)
{
headings.Items[0].Enabled = false;
}
}
Is the a bug in the control or am I using the control incorrectly?
5 Answers, 1 is accepted
0
Hello Callon Campbell,
I used the code snippets provided to create a test page and tried reproduce the issue - but unfortunately without success. On my side the RadComboBox updates its selected value correctly - please take a look at this demonstration video. Could you please find the sample attached and give it a try?
In order to help you we need more information - could you please explain your implementation in more details and send us simplified running page that reproduces the issue?
Can we continue this conversation in the support ticket (ID: 339560) that you have opened?
Thank you in advance.
Greetings,
Kalina
the Telerik team
I used the code snippets provided to create a test page and tried reproduce the issue - but unfortunately without success. On my side the RadComboBox updates its selected value correctly - please take a look at this demonstration video. Could you please find the sample attached and give it a try?
In order to help you we need more information - could you please explain your implementation in more details and send us simplified running page that reproduces the issue?
Can we continue this conversation in the support ticket (ID: 339560) that you have opened?
Thank you in advance.
Greetings,
Kalina
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0

Billy
Top achievements
Rank 2
answered on 08 Sep 2010, 08:56 PM
Did this get resolved? I am having the same issue. I reviewed the linked video, my situation does not have a "show value" button, the second drop down does a post back and that displays the selected value.
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="Test.ascx.vb" Inherits="NewInnovations.Demographics.Web.Test" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
telerik:RadComboBox
ID
=
"RadComboBox2"
runat
=
"server"
EmptyMessage
=
"Select a Person"
EnableLoadOnDemand
=
"true"
AppendDataBoundItems
=
"false"
AutoPostBack
=
"true"
DataTextField
=
"Name"
DataValueField
=
"RecordID"
ShowMoreResultsBox
=
"true"
EnableVirtualScrolling
=
"false"
OnClientDropDownOpening
=
"onDropDownOpening"
OnItemsRequested
=
"RadComboBox2_ItemsRequested"
MarkFirstMatch
=
"true"
CausesValidation
=
"False"
>
</
telerik:RadComboBox
>
<
asp:Label
ID
=
"Label1"
runat
=
"server"
Text
=
"Label"
></
asp:Label
>
<
script
type
=
"text/javascript"
>
function onDropDownOpening(sender) {
var attributes = sender.get_attributes();
if (attributes.getAttribute("DefaultItem") == "true") {
sender.requestItems("", false);
attributes.setAttribute("DefaultItem", "false");
} else if (sender.get_items().get_count() == 0) {
sender.requestItems("", false);
}
}
</
script
>
Imports
Telerik.Web.UI
Public
Class
Test
Inherits
System.Web.UI.UserControl
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
Me
.Load
If
MyBase
.IsPostBack =
False
Then
'drop down list (selected person)
RadComboBox2.Attributes.Add(
"DefaultItem"
,
"true"
)
RadComboBox2.Items.Add(
New
RadComboBoxItem(
"Billy 1"
,
"1"
))
End
If
End
Sub
Protected
Sub
RadComboBox2_ItemsRequested(
ByVal
o
As
Object
,
ByVal
e
As
Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs)
Handles
RadComboBox2.ItemsRequested
'
Dim
thePeople
As
New
List(Of
Object
)
thePeople.Add(
New
With
{.RecordID = 1, .Name =
"Billy 1"
})
thePeople.Add(
New
With
{.RecordID = 2, .Name =
"Billy 2"
})
thePeople.Add(
New
With
{.RecordID = 3, .Name =
"Billy 2"
})
thePeople.Add(
New
With
{.RecordID = 4, .Name =
"Billy 4"
})
'
RadComboBox2.DataSource = thePeople
RadComboBox2.DataBind()
'
e.EndOfItems =
True
'stops "MoreResultsBox" from calling this event again
'
e.Message =
Me
.RadComboBox2.Items.Count &
" People"
End
Sub
Private
Sub
RadComboBox2_SelectedIndexChanged(
ByVal
o
As
Object
,
ByVal
e
As
Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs)
Handles
RadComboBox2.SelectedIndexChanged
Me
.Label1.Text = e.Value
End
Sub
End
Class
0
Hello Billy Hasan,
I used the code provided and created a sample page in order to reproduce the issue with our latest version - Telerik.Web.UI 2010.2.826.20. On my side your code works properly and items with same text are selected correctly - please take a look at this demonstration video.
Let me suggest you download our latest version.
Greetings,
Kalina
the Telerik team
I used the code provided and created a sample page in order to reproduce the issue with our latest version - Telerik.Web.UI 2010.2.826.20. On my side your code works properly and items with same text are selected correctly - please take a look at this demonstration video.
Let me suggest you download our latest version.
Greetings,
Kalina
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items
0

Billy
Top achievements
Rank 2
answered on 22 Oct 2010, 08:52 PM
Alright, I figured out what the problem is. You have to do a redirect on the page in order for it to no longer work. Also I am using version 2010.2 929
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
></
telerik:RadScriptManager
>
<
telerik:RadComboBox
ID
=
"RadComboBox2"
runat
=
"server"
EmptyMessage
=
"Select a Person"
EnableLoadOnDemand
=
"true"
AppendDataBoundItems
=
"false"
AutoPostBack
=
"true"
DataTextField
=
"Name"
DataValueField
=
"RecordID"
ShowMoreResultsBox
=
"true"
EnableVirtualScrolling
=
"false"
OnClientDropDownOpening
=
"onDropDownOpening"
OnItemsRequested
=
"RadComboBox2_ItemsRequested"
MarkFirstMatch
=
"true"
CausesValidation
=
"False"
>
</
telerik:RadComboBox
>
<
asp:Label
ID
=
"lblSelectedValue"
runat
=
"server"
></
asp:Label
>
</
div
>
</
form
>
</
body
>
</
html
>
<
script
type
=
"text/javascript"
>
function onDropDownOpening(sender) {
var attributes = sender.get_attributes();
if (attributes.getAttribute("DefaultItem") == "true") {
sender.requestItems("", false);
attributes.setAttribute("DefaultItem", "false");
} else if (sender.get_items().get_count() == 0) {
sender.requestItems("", false);
}
}
</
script
>
Imports Telerik.Web.UI
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If MyBase.IsPostBack = False AndAlso Request("Value") IsNot Nothing Then
'drop down list (selected person)
RadComboBox2.Attributes.Add("DefaultItem", "true")
RadComboBox2.Items.Add(New RadComboBoxItem(Request("Text"), Request("Value")))
'
Me.lblSelectedValue.Text = Request("Value")
End If
End Sub
Protected Sub RadComboBox2_ItemsRequested(ByVal o As Object, ByVal e As Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs) Handles RadComboBox2.ItemsRequested
'
Dim thePeople As New List(Of Object)
thePeople.Add(New With {.RecordID = 1, .Name = "Billy1"})
thePeople.Add(New With {.RecordID = 2, .Name = "Billy2"})
thePeople.Add(New With {.RecordID = 3, .Name = "Billy2"})
thePeople.Add(New With {.RecordID = 4, .Name = "Billy4"})
'
RadComboBox2.DataSource = thePeople
RadComboBox2.DataBind()
'
e.EndOfItems = True 'stops "MoreResultsBox" from calling this event again
'
e.Message = Me.RadComboBox2.Items.Count & " People"
End Sub
Private Sub RadComboBox2_SelectedIndexChanged(ByVal o As Object, ByVal e As Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs) Handles RadComboBox2.SelectedIndexChanged
Dim url As String = String.Format("Default.aspx?Value={0}&Text={1}", e.Value, e.Text)
Response.Redirect(url)
End Sub
End Class
0
Hi Billy Hasan,
When you redirect the response - in fact you cause a new page load. This means that you lose the state of the page controls stored at ViewState - which is a normal ASP.NET behaviour.
Let me recommend you revise the approach that you use in your implementation.
Kind regards,
Kalina
the Telerik team
When you redirect the response - in fact you cause a new page load. This means that you lose the state of the page controls stored at ViewState - which is a normal ASP.NET behaviour.
Let me recommend you revise the approach that you use in your implementation.
Kind regards,
Kalina
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Explore the
Telerik Public Issue Tracking
system and vote to affect the priority of the items