
November 15th, 2012, 09:52 AM
|
|
Registered User
|
|
Join Date: Aug 2011
Posts: 2
Time spent in forums: 1 h 15 m 22 sec
Reputation Power: 0
|
|
|
Error on Updating GridView row
I am getting error "Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index " on updating the gridview. I have checked the rowindex in update function and its good. But i checked the gridview row count as grdMain.Rows.Count it is showing 0. My update event is below
BO.FranchiseInquiry f = new BO.FranchiseInquiry();
int index = grdMain.EditIndex;
lbl.Text = grdMain.Rows.Count.ToString();
GridViewRow row = (GridViewRow)grdMain.Rows[index];
TextBox txtNote = (TextBox)row.FindControl("txtNote");
f.FranchiseInquiryID = Int32.Parse(grdMain.DataKeys[index].Value.ToString());
f.Note = txtNote.Text.Trim();
fd.UpdateFranchiseInquiry(f);
grdMain.EditIndex = -1;
BindData();
<asp:GridView ID="grdMain" runat="server" EmptyDataText="No Records Found" AutoGenerateColumns="False" DataKeyNames="FranchiseInquiryID"
OnRowEditing="grdMain_RowEditing" OnRowUpdating="grdMain_RowUpdating" OnRowCancelingEdit="grdMain_RowCancelingEdit">
<Columns>
<asp:BoundField DataField="FranchiseInquiryID" Visible="false" HeaderText="FranchiseInquiryID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" ReadOnly="true" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" ReadOnly="true" />
<asp:BoundField HeaderText="Phone" DataField="Phone" ReadOnly="true" />
<asp:BoundField HeaderText="Email" DataField="Email" ReadOnly="true" />
<asp:BoundField HeaderText="Zip Code" DataField="Zip" ReadOnly="true" />
<asp:BoundField HeaderText="Liquid Capital Available" DataField="LiquidCapital" ReadOnly="true" />
<asp:TemplateField HeaderText="Notes">
<ItemTemplate>
<%# Eval("Note")%>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtNote" Text='<%# Eval("Note")%>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="true" ShowDeleteButton="false" ButtonType="Button" CausesValidation="false"/>
</Columns>
</asp:GridView>
I am not getting why the grid count becomes 0 in line lbl.Text = grdMain.Rows.Count.ToString();
Please help me.
|