
放在DrawCell事件里
'计算平均单价涨价幅度
If e.Col.Name = "平均单价" Then
Dim rate As Decimal = 0
If e.Row("平均单价") <> 0 AndAlso e.Row("历史采购单价") <> 0 AndAlso e.Row("平均单价") <> e.Row("历史采购单价") Then
rate = e.Row("平均单价") / e.Row("历史采购单价") - 1
End If
If rate <> 0 Then
e.StartDraw
If rate < 0 Then '注意绘图的最大宽高度e.Width和e.Height,要-2,防止爆出单元格
Dim Width As Integer = (e.Width - 2) * ( - rate)
e.Graphics.FillRectangle(Brushes.LightGreen, e.x + 1, e.y + 1, Width , e.Height - 2)
Else If rate > 0 AndAlso rate < 1 Then
Dim Width As Integer = (e.Width - 2) * rate
e.Graphics.FillRectangle(Brushes.Tomato, e.x + 1, e.y + 1, Width , e.Height - 2)
Else If rate >= 1 Then
Dim Width As Integer = (e.Width - 2) * rate
e.Graphics.FillRectangle(Brushes.Red, e.x + 1, e.y + 1, e.Width - 2, e.Height - 2)
End If
e.EndDraw
End If
End If