Ok this is just a rough and oversimplified idea not the actual thing, I am leaving the full implementation as an exercise for you:
<script language="javascript" src="Scripts/jQuery1.7.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var html;
for (i = 0; i < 7; i++) {
html += "<img src="images/starfill.png" alt="rating" />";
}
$("#ratingpanel").html(html);
});
</script>
<asp:Panel ID="ratingpanel" runat="server" ClientIDMode="Static">
</asp:Panel>
You would have to read the ratings from the database asynchronously using jquery AJAX and an asmx web service and then on the success event handler of the async request, generate an html on the fly based on the rating value. In the above code i have hardcoded that value to be "7" so it generates 7 stars. I suppose that's how CP does (source: FireBug)
However, since you are using a GridView and the column is most likely a template column its going to be tricky trying to access that column/cell by its ID because ids for such columns are not generated until the page renders because the column is just a template not a real column at design time (if that makes sense).
I think it would be easier if you did this bit at the server side rather than depending on jquery. You can handle the DataBound (i think??) event and decide how many full stars and how many empty stars to show.