This is a migrated thread and some comments may be shown as answers.

Index Out of Range

1 Answer 191 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Dhruval Dave
Top achievements
Rank 1
Dhruval Dave asked on 04 Jul 2011, 11:14 AM
Code of .aspx Page

<telerik:RadGrid ID="RadGrid2" runat="server" OnItemDataBound="RadGrid2_ItemDataBound">
                    <MasterTableView ClientDataKeyNames="ID">
                        <Columns>
                            <telerik:GridBoundColumn DataField="ID" HeaderText="ID" Visible="false">
                            </telerik:GridBoundColumn>
                            <telerik:GridBoundColumn DataField="Rights" HeaderText="Rights">
                            </telerik:GridBoundColumn>
                        </Columns>
                    </MasterTableView>
                    <ClientSettings>
                        <ClientEvents OnRowContextMenu="RowContextMenu"></ClientEvents>
                    </ClientSettings>
                </telerik:RadGrid>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:AasthaaERP %>"
                    SelectCommand="SELECT * FROM [rights]"></asp:SqlDataSource>
                <telerik:RadContextMenu ID="RadMenu1" runat="server" EnableRoundedCorners="true"
                    EnableShadows="true" OnItemClick="RadMenu1_ItemClick" Style="top: 544px; left: 548px">
                    <Items>
                        <telerik:RadMenuItem Text="Edit" ImageUrl="1303455785_pencil.png" />
                        <telerik:RadMenuItem Text="Delete" ImageUrl="1303455790_delete.png" />
                    </Items>
                </telerik:RadContextMenu>
 
 
Code of .aspx.cs Page:
 
On Page Load
string qrySearch = "Select * From Rights Where ID = '" + RadComboBox1.SelectedValue + "'";
        ds = obj.SelectQuery(qrySearch);
        RadGrid2.DataSource = ds;
        RadGrid2.DataBind();
 
 protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e)
    {
        foreach (GridDataItem item in RadGrid2.MasterTableView.Items)
        {
            if (item.Selected)
            {
 
                strtxt = item["ID"].Text.ToString();
                Session["EditID"] = strtxt;
 
            }
 
        }
}



It will Gives Following Error if I Try to Programmatically RadGrid..And Works well if I apply Datasource Directly..

System.IndexOutOfRangeException was unhandled by user code
  Message=There is no row at position 0.
  Source=System.Data
  StackTrace:
       at System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
       at System.Data.DataRowCollection.get_Item(Int32 index)
       at rights.RadMenu1_ItemClick(Object sender, RadMenuEventArgs e) in d:\Sharing\AasthaaERP\rights.aspx.cs:line 106
       at Telerik.Web.UI.RadMenu.RaiseMenuItemEvent(Object eventKey, RadMenuEventArgs e)
       at Telerik.Web.UI.RadMenu.OnItemClick(RadMenuEventArgs e)
       at Telerik.Web.UI.RadMenu.RaiseItemClick(ControlItem item)
       at Telerik.Web.UI.RadMenu.RaisePostBackEvent(String nodeIndex)
       at Telerik.Web.UI.RadMenu.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String nodeIndex)
       at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException:



How to Slve This Error..Please Guide

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 04 Jul 2011, 12:35 PM
Hello Dhruval,

The correct approach when using simple data-binding is to call the DataBind() method on the first page load when !Page.IsPostBack. Simple data-binding through the DataBind() method can be used in simple scenarios which does not require complex operations like insert/delete/update, grouping, hierarchy relations, etc. So I suggest you to try the same with advanced databinding using NeedDataSource event.

Thanks,
Shinu.
Tags
Grid
Asked by
Dhruval Dave
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or