I'm getting the following error when I click on the edit link in my grid. Any help would be appreciated.
Specified argument was out of the range of valid values.
Parameter name: index
Aspx:
CodeBehind:
Specified argument was out of the range of valid values.
Parameter name: index
Aspx:
<telerik:RadGrid ID="grdWebForm" CssClass="infoDisplayGrid" runat="server" Skin="Office2007" AllowPaging="true" OnPageIndexChanged="grdWebForm_PageIndexChanged" OnPageSizeChanged="grdWebForm_OnPageSizeChanged" PageSize="25" AllowSorting="true" OnSortCommand="grdWebForm_SortCommand" OnNeedDataSource="grdWebForm_NeedDataSource" OnItemDataBound="grdWebForm_ItemDataBound" AutoGenerateColumns="false" OnUpdateCommand="grdWebForm_UpdateCommand" OnDeleteCommand="grdWebForm_DeleteCommand" OnInsertCommand="grdWeForm_InsertCommand" OnPreRender="grdWebForm_PreRender"> <PagerStyle AlwaysVisible="true" /> <MasterTableView DataKeyNames="RTFieldQCId" EditMode="InPlace" CommandItemDisplay="Top"> <Columns> <telerik:GridDropDownColumn UniqueName="FullName" HeaderText="Tech Name" DataField="TechId" ListValueField="TechId" ListTextField="FullName" DropDownControlType="DropDownList"></telerik:GridDropDownColumn> <telerik:GridBoundColumn UniqueName="LegacyMeterSerial" SortExpression="LegacyMeterSerial" HeaderText="Legacy Meter #" DataField="LegacyMeterSerial"></telerik:GridBoundColumn> <telerik:GridDateTimeColumn UniqueName="QCDate" PickerType="DatePicker" HeaderText="Date" DataField="QCDate" DataFormatString="{0:MM/dd/yyyy}" EditDataFormatString="MMMM dd"> <ItemStyle Width="120px" /> </telerik:GridDateTimeColumn> <telerik:GridNumericColumn UniqueName="Score" SortExpression="Score" HeaderText="Score" DataField="Score" ColumnEditorID="GridNumericColumnEditor1"></telerik:GridNumericColumn> <telerik:GridNumericColumn UniqueName="MaxScore" SortExpression="MaxScore" HeaderText="Max Score" DataField="MaxScore" ColumnEditorID="GridNumericColumnEditor1"></telerik:GridNumericColumn> <telerik:GridBoundColumn UniqueName="Action" SortExpression="Action" HeaderText="Action" DataField="Action"> </telerik:GridBoundColumn> <telerik:GridEditCommandColumn UpdateText="Update" UniqueName="EditCommandColumn" CancelText="Cancel" EditText="Edit"> <HeaderStyle Width="85px"></HeaderStyle> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" /> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:GridNumericColumnEditor ID="GridNumericColumnEditor1" runat="server"> <NumericTextBox MaxLength="4" EmptyMessage="Ext." runat="server"> <NumberFormat GroupSeparator="," /> </NumericTextBox> </telerik:GridNumericColumnEditor>CodeBehind:
protected void grdWebForm_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { //if (rt_table != string.Empty) //{ grdWebForm.DataSource = GetWebFormData(); //} } protected void grdWebForm_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && e.Item.IsInEditMode) { GridEditableItem editedItem = e.Item as GridEditableItem; GridEditManager editMan = editedItem.EditManager; GridDropDownColumnEditor editor = editMan.GetColumnEditor("FullName") as GridDropDownColumnEditor; List<TechInfo> techList = BuildTechSelectLists(false); editor.DataSource = techList; // BuildTechSelectLists(false); editor.DataTextField = "FullName"; editor.DataValueField = "UserId"; editor.DataBind(); } if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; DataRowView row = (DataRowView)e.Item.DataItem; item["FullName"].Text = row["FullName"].ToString(); } } public DataTable GetWebFormData() { SqlConnection connection = new SqlConnection( ConfigurationManager.ConnectionStrings["ProFieldMeter"].ConnectionString); DataTable dt = new DataTable(); string strquery = "Select qc.RTFieldQCID,qc.TechId,qc.LegacyMeterSerial,qc.QCDate,qc.Score,qc.MaxScore,qc.Attachment,qc.Action, u.Lastname + ', ' + u.FirstName as FullName FROM RTFieldQC qc left join ProFieldCore.dbo.ProfieldUser u on qc.TechId = u.UserId"; SqlDataAdapter adapter = new SqlDataAdapter(strquery, connection); adapter.Fill(dt); return dt; }