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