C# - Index Was Out Of Range
Feb 21, 2010
I get the index out of range exception when compiling my grid view to display a set of orders. It doesn't happen when I add a new row but it does occur when I try to delete or update a row. The designer is:
<asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataKeyNames=""
OnRowCancelingEdit="GridView1_RowCancelingEdit"
OnRowEditing="GridView1_RowEditing"
OnRowUpdating="GridView1_RowUpdating"
OnRowCommand="GridView1_RowCommand"
ShowFooter="True"
OnRowDeleting="GridView1_RowDeleting">
<Columns>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:Button ID="Button1" runat="server" CausesValidation="True" CommandName="Update" Text="Update" />
<asp:Button ID="Button2" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="editButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" />
</ItemTemplate>
<FooterTemplate>
<asp:Button ID="LinkButton2" runat="server" CausesValidation="False" CommandName="AddNew" Text="Add New"></asp:Button>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Order ID">
<EditItemTemplate>
<asp:TextBox ID="txtOrderID" runat="server" Text='<%# Bind("OrderID") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewOrderID" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("OrderID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<EditItemTemplate>
<asp:TextBox ID="txtDate" runat="server" Text='<%# Bind("Date") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewDate" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Date") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Order Taken by">
<EditItemTemplate>
<asp:TextBox ID="txtOrderTaker" runat="server" Text='<%# Bind("OrderTaker") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewOrderTaker" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("OrderTaker") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Order By">
<EditItemTemplate>
<asp:TextBox ID="txtOrderBy" runat="server" Text='<%# Bind("OrderBy") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewOrderBy" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("OrderBy") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Lens Material">
<EditItemTemplate>
<asp:TextBox ID="txtMaterial" runat="server" Text='<%# Bind("Material") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewMaterial" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("Material") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tint">
<EditItemTemplate>
<asp:TextBox ID="txtTint" runat="server" Text='<%# Bind("Tint") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewTint" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("Tint") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="BCOR">
<EditItemTemplate>
<asp:TextBox ID="txtBCOR" runat="server" Text='<%# Bind("BCOR") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewBCOR" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("BCOR") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Power">
<EditItemTemplate>
<asp:TextBox ID="txtPower" runat="server" Text='<%# Bind("Power") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewPower" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label8" runat="server" Text='<%# Bind("Power") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Diameter">
<EditItemTemplate>
<asp:TextBox ID="txtDiameter" runat="server" Text='<%# Bind("Diameter") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewDiameter" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="LabelDiameter" runat="server" Text='<%# Bind("Diameter") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Design">
<EditItemTemplate>
<asp:TextBox ID="txtDesign" runat="server" Text='<%# Bind("Design") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewDesign" runat="server"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label9" runat="server" Text='<%# Bind("Design") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Notes">
<EditItemTemplate>
<asp:TextBox ID="txtNotes" runat="server" Text='<%# Bind("Notes") %>'></asp:TextBox>
</EditItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtNewNotes" runat="server" TextMode="MultiLine"></asp:TextBox>
</FooterTemplate>
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%# Bind("Notes") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" ShowHeader="True" />
</Columns>
</asp:GridView>
The code-behind is:
public class LensOrdersCls
{
private string cnstr = ConfigurationManager.ConnectionStrings["PatientConnectionString"].ConnectionString;
private string sql;
public LensOrdersCls()
{
//
// TODO: Add constructor logic here
//
}
public void Insert(int OrderID, string Date, string OrderTaker, string OrderBy, string Material, string Tint, string BCOR, string Power, string Diameter, string Design, string Notes)
{
string sql = "Insert Into LensOrders (OrderID, Date, OrderTaker, OrderBy, Material, Tint, BCOR, Power, Diameter, Design, Notes) Values ('" + OrderID
+ "' , '" + Date + "', '" + OrderTaker + "', '" + OrderBy + "', '" + Material + "' , '" + Tint + "' , '" + BCOR + "' , '" + Power + "', '" + Diameter + "', '" + Design + "', '" + Notes + "')";
SqlConnection conn = new SqlConnection(cnstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
public DataTable Fetch()
{
string sql = "Select * From LensOrders";
SqlDataAdapter da = new SqlDataAdapter(sql, cnstr);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
public void Update(int OrderID, string Date, string OrderTaker, string OrderBy, string Material, string Tint, string BCOR, string Power, string Diameter, string Design, string Notes)
{
string sql = "UPDATE LensOrders SET OrderID='" + OrderID + "', Date = '" + Date
+ "', OrderTaker='" + OrderTaker + "', OrderBy = '" + OrderBy + "' Material=" + Material + "' Tint= '" + Tint + "' BCOR= '" + BCOR + "' Power '" + Power + "' Diameter= '" + Diameter + "' Design= '" + Design + "' Notes= '" + Notes;
SqlConnection conn = new SqlConnection(cnstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
public void Delete(int OrderID)
{
string sql = "Delete LensOrders Where OrderID=" + OrderID;
SqlConnection conn = new SqlConnection(cnstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
conn.Dispose();
}
}
The page code-behind is:
public partial class Default : System.Web.UI.Page
{
LensOrdersCls LensOrder = new LensOrdersCls();
private void FillOrdersInGrid()
{
DataTable dtOrder = LensOrder.Fetch();
if (dtOrder.Rows.Count > 0)
{
GridView1.DataSource = dtOrder;
GridView1.DataBind();
}
else
{
dtOrder.Rows.Add(dtOrder.NewRow());
GridView1.DataSource = dtOrder;
GridView1.DataBind();
int TotalColumns = GridView1.Rows[0].Cells.Count;
GridView1.Rows[0].Cells.Clear();
GridView1.Rows[0].Cells.Add(new TableCell());
GridView1.Rows[0].Cells[0].ColumnSpan = TotalColumns;
GridView1.Rows[0].Cells[0].Text = "No Record Found";
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
FillOrdersInGrid();
test.Text = GridView1.Rows[0].Cells.Count.ToString();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("AddNew"))
{
TextBox txtNewOrderID = (TextBox)GridView1.FooterRow.FindControl("txtNewOrderID");
TextBox txtNewDate = (TextBox)GridView1.FooterRow.FindControl("txtNewDate");
TextBox txtNewOrderTaker = (TextBox)GridView1.FooterRow.FindControl("txtNewOrderTaker");
TextBox txtNewOrderBy = (TextBox)GridView1.FooterRow.FindControl("txtNewOrderBy");
TextBox txtNewMaterial = (TextBox)GridView1.FooterRow.FindControl("txtNewMaterial");
TextBox txtNewTint = (TextBox)GridView1.FooterRow.FindControl("txtNewTint");
TextBox txtNewBCOR = (TextBox)GridView1.FooterRow.FindControl("txtNewBCOR");
TextBox txtNewPower = (TextBox)GridView1.FooterRow.FindControl("txtNewPower");
TextBox txtNewDiameter = (TextBox)GridView1.FooterRow.FindControl("txtNewDiameter");
TextBox txtNewDesign = (TextBox)GridView1.FooterRow.FindControl("txtNewDesign");
TextBox txtNewNotes = (TextBox)GridView1.FooterRow.FindControl("txtNewNotes");
LensOrder.Insert(Convert.ToInt32(txtNewOrderID.Text),
txtNewDate.Text,
txtNewOrderTaker.Text,
txtNewOrderBy.Text,
txtNewMaterial.Text,
txtNewTint.Text,
txtNewBCOR.Text,
txtNewPower.Text,
txtNewDiameter.Text,
txtNewDesign.Text,
txtNewNotes.Text);
FillOrdersInGrid();
}
}
// Row Editing
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
FillOrdersInGrid();
}
// Row Cancel editing
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
FillOrdersInGrid();
}
//Row updating
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox txtOrderID = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtOrderID");
TextBox txtDate = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtDate");
TextBox txtOrderTaker = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtOrderTaker");
TextBox txtOrderBy = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtNewOrderBy");
TextBox txtMaterial = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtMaterial");
TextBox txtTint = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtTint");
TextBox txtBCOR = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtBCOR");
TextBox txtPower = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtPower");
TextBox txtDiameter = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtDiameter");
TextBox txtDesign = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtDesign");
TextBox txtNotes = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtNotes");
LensOrder.Update(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0].ToString()),
txtDate.Text,
txtOrderTaker.Text,
txtOrderBy.Text,
txtMaterial.Text,
txtTint.Text,
txtBCOR.Text,
txtPower.Text,
txtDiameter.Text,
txtDesign.Text,
txtNotes.Text);
GridView1.EditIndex = -1;
FillOrdersInGrid();
}
//Deleting row
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
LensOrder.Delete(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Values[0].ToString()));
FillOrdersInGrid();
}
}
View 1 Replies
Similar Messages:
Jan 3, 2011
gvOff.DataSource = o.ViewData(dCity.SelectedValue);
gvOff.DataBind();
gvOff.Columns[0].HeaderText = "ZZZZZZZZ";
gvOff.Columns[1].HeaderText = "YYYYYYYY";
gvOff.Columns[2].HeaderText = "XXXXXXXX";
Header count is correct.
AutoGenerateColumns: Flase/True ( i tried both)
If i remove the gvOff.Columns[index].HeaderText portions, GridView works fine, but when i put the gvOff.Columns[0].HeaderText, i get the exceptional error.
, i couldn't solve it. If you need further info, inform me.
EDITED:
Hold on! I commented the HeaderText portion and tested
int i = gvOffer.Columns.Count;
I found count is 0 eventhough the columns print out with DataBind()... Why?
NOTE: AutoColumn in this case is set to true. I guess i will have to edit the column
names from DataTable.
View 1 Replies
Jan 4, 2010
I'm stumbling on a basic LinqDataSource insertion problem. For some reason, I cannot insert records. The run-time returns the following error: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index The mark-up is as follows with the InsertParameters group. Adding or removing the group leads to the same error. (Note that updating works fine):
[Code]....
The events are void (just a convenient way to to troubleshoot). However, the run-time error occurs before the events are fired.
View 3 Replies
Dec 20, 2010
I am getting the below error when I am trying to export RDLC report data into Excel sheet using Microsoft report viewer control."Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index"
View 1 Replies
Jan 24, 2010
keep getting an error with
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Description: An unhandled exception occurred during the execution of the current web request. review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Source Error:
[Code]....
Here is my codes:
[Code]....
View 3 Replies
Jan 4, 2010
I am facing problem when i try to deploy my website on iis 7.0 on test page.
i have to display some .mht files on iframe in gridview and error looks like below,
[code]....
View 6 Replies
Feb 24, 2011
I am Getting this exception when i select the checkbox control in Grid view"Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"
I have Checkbox in Gridview control, when i select the record in grid view corresponding entire record will be populated into form fields,it working absolutely fine,I have search method on my webform, if i searched based on particular value in form fileds, records will be filtered in Girdvie control when i select the record, same reocrd suppose to populate in form fields but not loading, above error occuring.normally no issues error occuring when i search and select record. error occuring at redline in the code
[code].....
View 3 Replies
Mar 15, 2011
I'm having a problem when trying to add a new row to a grid view when the grid view paging is "2" for example. Basically, when the data I'm trying to add will be on page number two of the grid, the drop down list I'm trying to bind raises an exception saying that the index is out of range.
How can I add a new grid row with paging and how to tell the drop down list that the row it is looking for is no longer 11, but 1 on the second page?
View 5 Replies
Apr 16, 2010
it is a simple question, but i didn't understand. here is the code below:
Private Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
Dim drv As DataRowView
If e.Row.RowType = DataControlRowType.DataRow Then
For i As Integer = 0 To e.Row().Cells.Count
If " ".Equals(e.Row().Cells(i).Text) Then
e.Row().Cells(i).Text = ""
End If
Next
End If
End Sub
the line "If e.Row.RowType = DataControlRowType.DataRow Then" occured exception below System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection
View 3 Replies
Jul 23, 2010
I am getting error Specified index out of range of valid values. Parameter name index. I tried to put a breakpoint and see where am I getting the error. I have 5 columns (1 hidden). first 3 columns- no issue. But when the control reaches the 4th column it throws the error. I saw that I am getting correct values for the first 3..no ide what is going wrong with the 4th one.
[Code]....
View 2 Replies
Mar 21, 2011
I add all row CheckBox in my Gridview helping with this article. Here is my Calculate Button code;
protected void Calculate_Click(object sender, EventArgs e)
{
bool atLeastOneRowDeleted = false;
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("ProductSelector");
if (cb != null && cb.Checked)
{
atLeastOneRowDeleted = true;
int productID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
Response.Write(string.Format( "This would have deleted ProductID {0}<br />", productID));
}
}
}
But when i do that, getting strange error like this;
View 2 Replies
Oct 21, 2010
I get the error:
Index was out of range. Must be non-negative and less than the size of the collection.
when vieing a page with a datalist on it. i have other controls in the datalist. what would cause this? here is my code behind.
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
Label theiruseridLabel = DataList1.Items[0].FindControl("theiruseridLabel") as Label;
HyperLink hp2 = DataList1.Items[0].FindControl("HyperLink2") as HyperLink;
HyperLink hp3 = DataList1.Items[0].FindControl("HyperLink3") as HyperLink;
Label Label1 = DataList1.Items[0].FindControl("Label1") as Label;
string userName = theiruseridLabel.Text;
ProfileCommon userProfile = System.Web.Profile.ProfileBase.Create(userName, true) as ProfileCommon;
hp2.Text = userProfile.FirstName;
hp3.Text = userProfile.CompanyName;
Label1.Text = userName;
}
View 1 Replies
Oct 7, 2010
I'm building a web app that to build a report, but there are too many arguments to give each one a name, and I want to save them indexed by numbers so I can handle them with loops later on throughout the application.However, I'm getting an index out of range on the very first session item(0)...as I understand it, I don't have to instantiate a session myself and this should work right?
Session[0] = txtComplianceCaseID.Text;
Session[1] = ddlState.SelectedValue;
Session[2] = txtActingSupervisor.Text;
Session[3] = ddlRiskTolerance.SelectedValue;
View 2 Replies
Jan 19, 2010
I recently had to remove a field from my datakey on all three gridview tables. On the top level table the field (ignum) remains as a non key field. On the two lower level tables it was removed completely. Now, the top level gridview opens correctly, but when I click on select this should bring up all the records in the second gridview associated with the selected row in the first gridview, but I get the following error:
[Code]....
I've looked at everything I can thing of and everything looks ok. The tables look good, I've removed all references to the removed field and I've restructured all the code to account for the changes. I'm missing something, but I don't know what. I've gone through debug step by step and the error occurs as I leave the GridView1_SelectedIndexChanged code. It goes down to the End Sub line with no errors, but when I step again it errors out. Here is that section of code.
[Code]....
View 13 Replies
Jun 1, 2012
Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index after binding the gridview with data i need to set the column width as defined in a array.i am setting it as
string[] cwidth = Session["width"].ToString().Split(',');
int colcount = coln.Length;
for (int i = 0; i <= colcount - 1; i++)
{
Gridview1.Columns[i].HeaderText = coln[i].ToString();
int swidth = Convert.ToInt32(cwidth[i]);
Gridview1.Columns[i].HeaderStyle.Width = Convert.ToInt32(cwidth[i]);
}
but i get the above error
View 1 Replies
Feb 2, 2012
I have an array called"List" with 1 item and a gridview "grdWorkingDays" with two columns.
In the First column, I want to display the working days dynamically from the arraylist and in the second column I need to display a dropdown with CL/PL/Halfday(Which has values from a database table and is already written in a method) against each date of array list.
The code is:
int NoOfWorkingDays = List.Count;
for (int j = 0; j < NoOfWorkingDays; j++){
String Date = ((Label)grdWorkingDays.Rows[j].Cells[0].FindControl("lblLeaveType")).Text;
Date = List[j].ToString();
[Code] .....
When I run this, I am getting error as:
"Index was out of range. Must be non-negative and less than the size of the collection." pointing to the 1st row of for loop.
I am struggling with this for past few days and count find what the error is.
FYI, the array count is being calculated correctly as "1" .
View 1 Replies
Mar 21, 2010
I have used the DataKeyNames property of the GridView to assign the column name whose visible property is set to false to get the cells value when the column is kept invisible. But, sometimes there is an error on this line of code - string cellValue = GridView.DataKeys[e.NewEditIndex].Value.ToString(); Following Error is generated -
Server Error in '/' Application. Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
View 5 Replies
Mar 22, 2011
I add all row [Code].... in my [Code].... helping with this [Code].... Here is my [Code]....
[Code]....
But when i do that, getting strange error like this;
View 3 Replies
Apr 3, 2010
Server Error in '/EBOOKS' Application.
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Description:
An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Source Error:
Line 61: Dim favorname As String = GridView1.DataKeys(row.RowIndex).ToStringLine 62: Line 63: ' Pass the value of the selected Employye ID to the Delete //command. My coding as
Protected Sub btnMultipleRowDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnMultipleRowDelete.Click
' Looping through all the rows in the GridView
For Each row As GridViewRow In GridView1.Rows
Dim checkbox As CheckBox = CType(row.FindControl("cbRows"), CheckBox)
'Check if the checkbox is checked.
'value in the HtmlInputCheckBox's Value property is set as the //value of the delete command's parameter.
If checkbox.Checked Then
' Retreive the Favorname
Dim favorname As String = GridView1.DataKeys(row.RowIndex).ToString
' Pass the value of the selected Employye ID to the Delete //command.
SqlDataSource1.DeleteParameters("Favorname").DefaultValue = favorname.ToString()
SqlDataSource1.Delete()
End If
Next row
End Sub
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"
Width="563px" AutoGenerateColumns="False">
<RowStyle CssClass="fontsmallthennormal" />
<HeaderStyle CssClass="fontnormalblue8" />
<EditRowStyle CssClass="fontsmallthennormal" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="cbRows" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Favorname" HeaderText="Favorname" SortExpression="Favorname" />
<asp:BoundField DataField="FavorDate" HeaderText="FavorDate" SortExpression="FavorDate" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1"
ConnectionString="<%$ ConnectionStrings:yyyy %>"
runat="server" SelectCommand="SELECT [US], [Favorname], [FavorDate] FROM [TBL_FAVORITES] WHERE ([US] = @US)"
DeleteCommand="DELETE from TBL_FAVORITES where [Favorname]= @Favorname"
>
<SelectParameters >
<asp:ControlParameter ControlID="txtusername1" Name="US" PropertyName="Text" Type="String" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="Favorname" />
</DeleteParameters>
</asp:SqlDataSource>
View 5 Replies
Sep 23, 2010
i have erro in this code Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Asp.net control gridview
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace WebApplication2
{
public partial class _Default : System.Web.UI.Page
{
string query, strcn;
public SqlConnection cn;
public SqlDataAdapter da;
public DataSet ds;
private void fill()
{
string strc = "Data source =V_v_S-PC; initial catalog=Entry; User Id=sa; password=sa;";
cn = new SqlConnection(strc);
cn.Open();
string strq = "Select*from th";
da = new SqlDataAdapter(strq, cn);
ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
fill();
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
fill();
}
protected void GridView1_RowUpdated(object sender, GridViewUpdatedEventArgs e)
{
// GridViewRow row = (GridViewRow)GridView1.Rows[e.AffectedRows];
// TextBox textID = (TextBox)row.FindControl("textbox3");
//TextBox textEname = (TextBox)row.FindControl("textbox4");
//GridView1.EditIndex = -1;
//cn.Open();
//SqlCommand sc = new SqlCommand("update e set Ename=" + textEname.Text + " where Id=" + textID.Text + "", cn);
//sc.ExecuteNonQuery();
}
protected void TextBox3_TextChanged(object sender, EventArgs e)
{
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//int iKey = Convert.ToInt16(gv.DataKeys[e.RowIndex].Values["MovieId"]);
//string TaskID = grdTask.DataKeys[e.Row.RowIndex].Value.ToString();
int ike = Convert.ToInt16(GridView1.DataKeys[e.RowIndex].Values["Id"]);
TextBox tex = (TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0];
string idne = tex.Text;
strcn = ConfigurationManager.ConnectionStrings["SachinConnectionString"].ConnectionString;
cn = new SqlConnection(strcn);
cn.Open();
query = "update e set Ename='" + idne + "' where Id= " + ike + " ";
//string strUpdate = "update tbl_Movie set MovieName='"+strMovieName+"' where MovieId="+iMovieId+"";
SqlCommand com = new SqlCommand(query, cn);
com.ExecuteNonQuery();
GridView1.EditIndex = -1;
fill();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
fill();
}
}
}
View 4 Replies
Jan 25, 2011
I am invoking GridView1 RowCommand and updating table but getting null value error or index out of range.
here is my code:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Primary")
{
[Code]....
View 20 Replies
Jul 20, 2010
I have a static dictionary object which hold some Key and Value pairs in our site.We are getting Indexoutofrange exception some times and we couldn't figureout the problem why it is causing.This error is logged several times in the log file and site went down.Do you have any idea why this is happend?Please provide your advice ASAP as we are facing this issue in live server.
View 6 Replies
Aug 7, 2012
I have my grid view and its code is as follows
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="NewCampaign.aspx.cs" Inherits="NoticeBoard.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
<title></title> <style type="text/css"> .style1
[Code] .....
Basically it is the form when user enter all the data and press the submit button then the data will appear on the grid view . On grid view there is option edit when i edit the row and press the update button then the following error will occur
int cid = Int32.Parse(noticeDetails.DataKeys[e.RowIndex].Value.ToString());
"Argumentout of range exception and was unhandled by user code.
Index was out of range must be non negative and out of collection
the aspx.cs code0
View 1 Replies
May 20, 2010
This is my first attempt at paging on a listview. The first time my page loads it loads the listview fine, but when I try to use the paging I get the following error:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Here's my code:
[code].....
When I take the following line out I don't get the error, but i need it to populate my controls:
DataKey currentDataKey = this.lvReports.DataKeys[currentItem.DataItemIndex];
View 8 Replies
Nov 23, 2010
i use objectdatasource control for bind record and also in gridview paging.in my gridview there is a linkbutton(edit) when i click it then it redirect to next page with some key value.but problem is when i try to paging in gridview an error is occure that is Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
protected void grdClassList_RowCommand(object sender, GridViewCommandEventArgs e)
{
GridViewRow row = grdClassList.Rows[Convert.ToInt32(e.CommandArgument)];//error
[code]...
View 7 Replies