.NET DataGrid: Selecting the whole row when clicked on a cell

This is something I was trying for sometime and the only way I managed to do it earlier was by disabling the datagrid. The other solutions proposed were by sub-classing the datagrid control and by overriding the default behaviour. But I found a better and easy way described in this blog.

I am posting the code snippet here, just for my future reference as well as for anyone else’s benefit.

1. To handle mouse click events. When the user selects a cell by clicking on it.

private void dg_MouseUp( object sender, System.Windows.Forms.MouseEventArgs e )
{
      dg.Select(dg.CurrentRowIndex);
}

2. The solution for getting the row to select when the user navigates using the arrow keys.

private void dg_CurrentCellChanged( object sender, System.EventArgs e )
{
      dg.Select(dg.CurrentRowIndex);
}

I tried this on a .NETCF Pocket PC app and it worked great. Also, it solved one of the issues that I had to solve, easily.


  1. hi,

    Thank you very much for your code.
    I just need another thing to be solved.

    Ex:
    In .NET 2.0 datagrid we can select multiple rows from the
    mouse and when we press delete button we can delete those rows from the datagrid.

    I want to get those selected rows.
    How can i do it ?

  2. Dummy

    Ho* ho*, That’s what i need in my project. Thank to Google :))

  3. ccmos007

    works like a dream thank you :):)




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s



%d bloggers like this: