I have this ASPX code:
And this code behind:
When I check an item I got this error and my code is never executed:
Any clues?
<
telerik:RadComboBox
runat
=
"server"
ID
=
"instituicao"
Width
=
"450"
CheckBoxes
=
"true"
AutoPostBack
=
"true"
ItemsPerRequest
=
"10"
EnableLoadOnDemand
=
"True"
ShowMoreResultsBox
=
"true"
EnableVirtualScrolling
=
"true"
OnItemChecked
=
"instituicao_ItemChecked"
OnItemsRequested
=
"instituicao_ItemsRequested"
/>
And this code behind:
protected
void
instituicao_ItemsRequested(
object
sender, RadComboBoxItemsRequestedEventArgs e)
{
DataTable dt = GetData();
int
total = dt.Rows.Count;
int
itemOffset = e.NumberOfItems;
int
endOffset = Math.Min(itemOffset + instituicao.ItemsPerRequest, total);
e.EndOfItems = endOffset == total;
instituicao.Items.AddRange(
dt.Rows.OfType<DataRow>().Skip(itemOffset).Take(endOffset - itemOffset)
.Select(i =>
new
RadComboBoxItem(i[
"Id"
]
as
string
, i[
"Id"
]
as
string
)));
}
protected
void
instituicao_ItemChecked(
object
sender, RadComboBoxItemEventArgs e)
{
// do stuff
}
private
DataTable GetData()
{
DataTable dt =
new
DataTable();
dt.Columns.Add(
"Id"
,
typeof
(
string
));
for
(
int
i = 1; i <= 100; i++ )
{
DataRow row = dt.NewRow();
row[
"Id"
] = i;
dt.Rows.Add(row);
}
return
dt;
}
When I check an item I got this error and my code is never executed:
[ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index]
System.Collections.ArrayList.get_Item(Int32 index) +7487944
System.Web.UI.StateManagedCollection.System.Collections.IList.get_Item(Int32 index) +12
Telerik.Web.UI.ControlItemCollection.get_Item(Int32 index) +48
Telerik.Web.UI.RadComboBoxItemCollection.get_Item(Int32 index) +37
Telerik.Web.UI.RadComboBox.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +238
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
Any clues?