I wound up figuring this out. I needed to use the CellFormatting() event instead of any of the paint events. Now it only draws each cell once.