Hi Andy Green,
This error will come if you are trying to select an item from the RadComboBox which is not present in the list. I guess you are binding the checkbox with same DataSource ,used to bind the GridBoundColumn of RadGrid. Please have a look into the sample code snippet which works fine at my end.
ASPX:
<
telerik:RadGrid
ID
=
"radgrdOrders"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
AutoGenerateColumns
=
"False"
CellSpacing
=
"-1"
GridLines
=
"Both"
OnItemCreated
=
"radgrdOrders_ItemCreated"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
UniqueName
=
"OrderID"
HeaderText
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerID"
UniqueName
=
"CustomerID"
HeaderText
=
"CustomerID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"EmployeeID"
UniqueName
=
"EmployeeID"
HeaderText
=
"EmployeeID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"EmployeeID"
HeaderText
=
"EmployeeID"
ItemStyle-HorizontalAlign
=
"Center"
>
<
HeaderStyle
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<
asp:CheckBox
ID
=
"ChkEmployeeID"
runat
=
"server"
Text='<%# Eval("EmployeeID") %>' />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
telerik:RadComboBox
ID
=
"radcboEmployee"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
EmptyMessage
=
"select"
DataTextField
=
"EmployeeID"
>
</
telerik:RadComboBox
>
C#:
protected
void
radgrdOrders_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
CheckBox checkBox = (CheckBox)item.FindControl(
"ChkEmployeeID"
);
checkBox.Attributes.Add(
"onclick"
,
"SelectItem('"
+ checkBox.ClientID.ToString() +
"')"
);
}
}
JavaScript:
<script type=
"text/javascript"
>
function
SelectItem(CheckBoxId) {
var
comboBox = $find(
"<%=radcboEmployee.ClientID %>"
);
var
checkBox = document.getElementById(CheckBoxId);
var
item = checkBox.parentElement.innerText;
comboBox.findItemByText(item).select();
}
</script>
Please provide your full code if it doesn't help.
Thanks,
Shinu.