首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎样让listview按条件显示不同颜色?解决方案

2012-09-14 
怎样让listview按条件显示不同颜色?数据库 idneirong(内容) biaozhi (标志,1or2,用来控制颜色);原来简要代

怎样让listview按条件显示不同颜色?
数据库 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;
 

[解决办法]
canvas
[解决办法]
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;

热点排行