Click here to Skip to main content
Licence CPOL
First Posted 24 May 2011
Views 7,465
Downloads 476
Bookmarked 13 times

Row Header Cell Images in DataGridView

By | 24 May 2011 | Article
This post helps to load image in row header cell of a datagridview.

Introduction

This post helps to load image in row header cell of a datagridview. As per my investigation, it is found that we cannot directly load an image into a row header cell (this can be false though). But I figured out a way to load an image in row header cell by converting the image into an icon – then show it using the event dataGridView1_RowPostPaint (and I’m not sure whether this is the best way).

Image_1.png

I have added the ’RedCross’ image in an imageList in my project. If we try to resize the image to a larger extent, the quality of image will be deformed. Try to load images in the image list with the exact size; we prefer to show it in the row header cell.

private void dataGridView1_RowPostPaint
	(object sender, DataGridViewRowPostPaintEventArgs e)
{
    //Convert the image to icon, in order to load it in the row header column
    Bitmap myBitmap = new Bitmap(imageList1.Images[0]);
    Icon myIcon = Icon.FromHandle(myBitmap.GetHicon());

    Graphics graphics = e.Graphics;

    //Set Image dimension - User's choice
    int iconHeight = 14;
    int iconWidth = 14;

    //Set x/y position - As the center of the RowHeaderCell
    int xPosition = e.RowBounds.X + (dataGridView1.RowHeadersWidth / 2);
    int yPosition = e.RowBounds.Y + 
	((dataGridView1.Rows[e.RowIndex].Height - iconHeight) / 2);

    Rectangle rectangle = new Rectangle(xPosition, yPosition, iconWidth, iconHeight);
    graphics.DrawIcon(myIcon, rectangle);
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Balu Sathish

Software Developer
Calpine Technologies
India India

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
Generalgood Pinmemberomerelili19:28 21 May '12  
GeneralMy vote of 4 PinmemberMBigglesworth790:53 25 May '11  
GeneralGood One Pinmembervsareesh0:33 25 May '11  
Generalnice Pinmemberbaihualin198315:25 24 May '11  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web01 | 2.5.120517.1 | Last Updated 24 May 2011
Article Copyright 2011 by Balu Sathish
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid