1,105,333 Community Members

get the row number of datagridview

Member Avatar
AngelicOne
Posting Whiz
362 posts since Jul 2010
Reputation Points: 4 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
0
 

I have a datagridview and a status strip on my form. When I click a row or cell, the label from the status strip should change according to it's row number. My datagridview is being generated at run time by a dataset.

Member Avatar
ddanbe
Posting Expert
5,355 posts since Oct 2008
Reputation Points: 2,066 [?]
Q&As Helped to Solve: 908 [?]
Skill Endorsements: 46 [?]
Featured
 
2
 

Many Click events of the DataGrridView show a DataGridViewCellEventArgs

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            // e.RowIndex and e.ColumnIndex
        }

This class gives you access to the row and column.

Member Avatar
Mitja Bonca
Posting Maven
2,561 posts since May 2009
Reputation Points: 557 [?]
Q&As Helped to Solve: 489 [?]
Skill Endorsements: 21 [?]
 
1
 

I will only add to ddanbe` post:
If you are not in some dgv`s event handler you get the row number like:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            int rowIndex1 = e.RowIndex;
            int rowIndex2 = GetRowIndex();
        }

        private int GetRowIndex()
        {
            int rowIndex = this.dataGridView1.CurrentCell.RowIndex;
            return rowIndex;
        }

Mitja

Member Avatar
AngelicOne
Posting Whiz
362 posts since Jul 2010
Reputation Points: 4 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
0
 

It begins with 0 for the first row, so does that mean I just need to add 1?

Member Avatar
ddanbe
Posting Expert
5,355 posts since Oct 2008
Reputation Points: 2,066 [?]
Q&As Helped to Solve: 908 [?]
Skill Endorsements: 46 [?]
Featured
 
0
 

Depends on what your intentions are, as long as you know what you are doing, please add 1. No problem.

Member Avatar
AngelicOne
Posting Whiz
362 posts since Jul 2010
Reputation Points: 4 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
0
 

There's an error if I click an empty datagridview. I suppose I need to set a condition for this? Like if datagridview is not null?

I need to indicate the row is 0, so I think an if else condition is necessary, don't you think? But using condition just to tell the row is 0? Isn't the code supposed to do that?

Member Avatar
Mitja Bonca
Posting Maven
2,561 posts since May 2009
Reputation Points: 557 [?]
Q&As Helped to Solve: 489 [?]
Skill Endorsements: 21 [?]
 
2
 

Yes you do:

if(dataGridView1.Rows.Count > 0)
{
   //your code
}
Question Answered as of 3 Years Ago by ddanbe and Mitja Bonca
You
This question has already been solved: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article