listview 行背景色有关问题

listview 行背景色问题
比如 有一列 内容有 是 否 2个值
是的时候背景颜色 是红色
否的时候背景颜色 是绿色

怎么搞定/...

------解决方案--------------------
给你个代码做参考:

VB code

Option Explicit

Private Sub Form_Load()
   Dim i As Integer
   Dim iFontHeight As Long
   Dim iBarHeight As Integer
   Dim j As Integer
   Dim itmX As ListItem
   Dim ColHead As ColumnHeader
   ListView1.ColumnHeaders.add , , "This is Just a Simple Example"
   ListView1.ColumnHeaders(1).Width = 3000


   ''添加一些实验数据
   For j = 1 To 33
     Set itmX = ListView1.ListItems.add()
     itmX.Text = "This is item number " & CStr(j)
   Next j

   Me.ScaleMode = vbTwips
   picGreenbar.ScaleMode = vbTwips
   picGreenbar.BorderStyle = vbBSNone
   picGreenbar.AutoRedraw = True
   picGreenbar.Visible = False
   picGreenbar.Font = ListView1.Font
   iFontHeight = picGreenbar.TextHeight("b") + Screen.TwipsPerPixelY
   iBarHeight = (iFontHeight * 1)
   picGreenbar.Width = ListView1.Width
   ''======
   picGreenbar.Height = iBarHeight * 2
   picGreenbar.ScaleMode = vbUser
   picGreenbar.ScaleHeight = 2
   picGreenbar.ScaleWidth = 1
   ''draw the actual bars
   picGreenbar.Line (0, 0)-(1, 1), vbWhite, BF
   picGreenbar.Line (0, 1)-(1, 2), RGB(227, 241, 226), BF
   ''======
   ListView1.PictureAlignment = lvwTile
   ListView1.Picture = picGreenbar.Image
End Sub

------解决方案--------------------
背景颜色没有办法改变,加图片的方法只能做到隔行变色,也不符合要求.
不过改字体颜色还是可以做到的,看看这个效果吧
VB code
Private Sub Form_Load()
   Dim j As Integer
   Dim itmX As ListItem
   Dim ColHead As ColumnHeader
   ListView1.ColumnHeaders.Add , , "isno"
   ListView1.ColumnHeaders(1).Width = 3000

   ''添加一些实验数据
   For j = 1 To 100
     Set itmX = ListView1.ListItems.Add()
     itmX.Text = IIf(j Mod 2 = 0, "是", "否")
     If itmX.Text = "是" Then
        itmX.ForeColor = vbRed
     Else
        itmX.ForeColor = vbBlue
     End If
   Next j
End Sub