•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the C# section within the Software Development category of DaniWeb, a massive community of 401,489 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,215 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Views: 495 | Replies: 4
![]() |
•
•
Join Date: Jul 2008
Posts: 2
Reputation:
Rep Power: 0
Solved Threads: 0
Haris Hussain - Posted on Monday, June 30, 2008 23:15:15
I am facing a following exception. While am deleting a row from gridview. I am using VS 2005.
Exception: Index was out of range.Parameter must be non negative and less than the index collection. Parameter Name : INDEX
private void bindingNavigatorDeleteItem_Click()
{
try
{
SqlDataAdapter da;
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(@"Data Source=HARIS\SQLEXPRESS;Initial Catalog=Nesk;Integrated Security=True");
da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("sp_Nsk_PromoCriteriaDelete");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@promoID", SqlDbType.VarChar).Value = System.Convert.ToInt32(nsk_PromoCriteriaDataGridView.SelectedRows[0].Cells[0].Value);
cmd.Connection = conn;
da.SelectCommand = cmd;
da.Fill(ds);
conn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Stored Procedure:
ALTER PROCEDURE [dbo].[sp_Nsk_PromoCriteriaDelete]
@PromoID varchar(20)
AS BEGIN
SET NOCOUNT ON;
delete from Nsk_PromoCriteria where PromoId = @PromoID
END
Property Set:
RowTemplate: DataGridViewRow Index{-1
I am facing a following exception. While am deleting a row from gridview. I am using VS 2005.
Exception: Index was out of range.Parameter must be non negative and less than the index collection. Parameter Name : INDEX
private void bindingNavigatorDeleteItem_Click()
{
try
{
SqlDataAdapter da;
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(@"Data Source=HARIS\SQLEXPRESS;Initial Catalog=Nesk;Integrated Security=True");
da = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand("sp_Nsk_PromoCriteriaDelete");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@promoID", SqlDbType.VarChar).Value = System.Convert.ToInt32(nsk_PromoCriteriaDataGridView.SelectedRows[0].Cells[0].Value);
cmd.Connection = conn;
da.SelectCommand = cmd;
da.Fill(ds);
conn.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Stored Procedure:
ALTER PROCEDURE [dbo].[sp_Nsk_PromoCriteriaDelete]
@PromoID varchar(20)
AS BEGIN
SET NOCOUNT ON;
delete from Nsk_PromoCriteria where PromoId = @PromoID
END
Property Set:
RowTemplate: DataGridViewRow Index{-1
What line throws your exception?
•
•
Join Date: Jul 2008
Posts: 2
Reputation:
Rep Power: 0
Solved Threads: 0
System.Convert.ToInt32(nsk_PromoCriteriaDataGridView.SelectedRows[0]
throws an exception.
SelectedRows[0] throws an exception while i select last record. There are six rows in my table.
when i select last row it throws an exception while i select upper 5 rows it selects the very next row that i selected.
when i use selectedrows[0].count it gives value 5. While there is six rows in my tables.
I checked MSDN page for selectedrows property. it says just check SelectionMode property on properties window and make sure it is set to fullrow select. and make sure that it is not empty before you check. I'm sure there is an isEmpty or length function in the DataGridView.
•
•
•
•
The SelectionMode property must be set to FullRowSelect or RowHeaderSelect for the SelectedRows property to be populated with selected rows.
![]() |
•
•
•
•
•
•
•
•
DaniWeb C# Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
Similar Threads
- Extract lines with values in range (Python)
- List Index out of Range (Python)
- Index was out of range. Must be non-negative and less than the size of the collection (VB.NET)
- Index was out of range. Must be non-negative and less than the size of the collection (VB.NET)
- VBA - Excel - sheet,range lookup with variables (Visual Basic 4 / 5 / 6)
- "String Index Out of Range" ACK!! (Java)
Other Threads in the C# Forum
- Previous Thread: Change Focus in textbox
- Next Thread: Accessing Previously recorded registers in Access database


Linear Mode