我用DataReader读的数据,有一列是状态0和1的,我想让他们以不同颜色显示 蓝色OR红色,求实现方法

解决方案 »

  1.   

    1、设置ListView.OwnerDraw=true;
    2、实现ListView.DrawColumnHeader事件,这里是绘制列头的,没有特别需要求,直接写下面代码即可,
    进行默认绘制        private void listView1_DrawColumnHeader( object sender, DrawListViewColumnHeaderEventArgs e )
            {
                e.DrawDefault = true;
            }3、实现ListView.DrawSubItem事件,这个事件是核心,
    下面假设你第2个子项需要判断,        private void listView1_DrawSubItem( object sender, DrawListViewSubItemEventArgs e )
            {
                
                if ( e.ColumnIndex == 2  )
                {
                    //是第二个子项
                    Color c = Color.Red;
                    if ( e.SubItem.Text.Equals( "1" ) )
                    {
                        c = Color.Blue;
                    }
                    e.Graphics.DrawString( e.SubItem.Text, e.SubItem.Font, new SolidBrush( c ), new PointF( e.Bounds.X, e.Bounds.Y ) );
                }
                else
                {
                    //不是第二个子项,采用默认绘制
                    e.DrawText();
                }
            }
      

  2.   

    你获取当前值的时候,使用HTML<span color="red">这种方式,
      

  3.   

    设置ListView.OwnerDraw=true;
    实现ListView.DrawColumnHeader事件,这里是绘制列头的,没有特别需要求,直接写下面代码即可,
    进行默认绘制
      

  4.   

    手动拼接一段html直接输出给页面,要想什么效果都可以
      

  5.   

    各位,我写的不是B/S的,,是C/S的~~~~我囧