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.

7 Years
Discussion Span
Last Post by Mitja Bonca

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.

Votes + Comments
You are welcome :)

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;


Votes + Comments
Thanks for the addition!

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


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


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?

Edited by AngelicOne: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.