Click here to Skip to main content
Click here to Skip to main content

Row Header Cell Images in DataGridView

, 24 May 2011
Rate this:
Please Sign up or sign in to vote.
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).

RowHeaderCellImages/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
No Biography provided

Comments and Discussions

 
Generalgood Pinmemberomerelili21-May-12 19:28 
thx
GeneralMy vote of 4 PinmemberMBigglesworth7925-May-11 0:53 
GeneralGood One Pinmembervsareesh25-May-11 0:33 
Generalnice Pinmemberbaihualin198324-May-11 15:25 

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.

| Advertise | Privacy | Mobile
Web03 | 2.8.140721.1 | Last Updated 24 May 2011
Article Copyright 2011 by Balu Sathish
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid