+1  A: 

You will have to do a Custom Draw on the Cell. Have a look at the Cell Painting event.

James
Yes, I thought I had to do that. A question: if I do a custom draw hooking into cell painting event, I "lose" the normal layout and have to redraw the cell?
splattne
The DataGridView is one of the custom draw controls that more or less does it right. The DataGridViewCellPaintingEventArgs has a couple of functions you can call to have WinForms paint certain parts of the cell for you. You could then paint just the background yourself.
Eric
I don't think you do I think as Eric stated the args allow you to simply override specific properties of the Cell.
James
It works, thanks. See my updated question.
splattne
Glad I could help. You just need to add some logic in the there now to handle the calculation of the percentage to draw.
James
The logic of the percentage is done in another method. It's the cell value.
splattne
Ah well your done then!
James