数据库 id  neirong(内容) biaozhi (标志,1or2,用来控制颜色);原来简要代码如下
procedure tform1.listview1reflash;//查询数据库,显示到listview
 var
   myitem:Tlistitem;
   query:tadoquery;
begin
   listview1.clear;
   query :=tadoquery.create(nil);
   query.connection :=form1.adoconnection;
   query.sql.text := 'select * from sjk ';
   query.open;
         while not query.eof do
         begin
           biaozhi := trim(query.fieldbyname('biaozhi'),asstring);
           if biaozhi = '1' then listview1.canvas.font.color :=clred;
           
           myitem := listview2..tems.add;
           myitem.caption : trim(........);
           myitem.subitems.add(...);
           .
           .
           end;
           query.next;
         end;
end;
 

解决方案 »

  1.   

    listview的 CustomDrawItem 事件
    lv2CustomDrawItem(Sender: TCustomListView;
      Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
      //不同标志的列用不同的颜色
      if Item.SubItems[1] = '不变' then
          Item.ListView.Canvas.Font.Color := clBlack
      else if Item.SubItems[1] = '修改' then
          Item.ListView.Canvas.Font.Color := clFuchsia
      else if Item.SubItems[1] = '删除' then
          Item.ListView.Canvas.Font.Color := clRed
      else  //新增
          Item.ListView.Canvas.Font.Color := clBlue;
    end;
      

  2.   

    楼上方法可以,但是我的‘biaozhi’,这一列不在Listview里面显示