我想通过点击右键按钮N24,从而添加imagelist3中的第1个图标于listview2中符合第八项中头二位是’13‘开头的数据行中,我的代码是这样的写的但是却无法得到正确的结果,所有的行都显示这个图标
procedure Tmainpagefrm.N24Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview2.Items.Count-1 do
if copy((listview2.Items[i].SubItems.Strings[7]),1,2)='13' then
gitem:=listview2.Items.Add;
listview2.SmallImages:=imagelist3;
listview2.Items[i].ImageIndex:=0;
end;
不知是错在那,请专家指点一二,在线急待!!!,如能解决,另帖给高分
procedure Tmainpagefrm.N24Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to listview2.Items.Count-1 do
if copy((listview2.Items[i].SubItems.Strings[7]),1,2)='13' then
gitem:=listview2.Items.Add;
listview2.SmallImages:=imagelist3;
listview2.Items[i].ImageIndex:=0;
end;
不知是错在那,请专家指点一二,在线急待!!!,如能解决,另帖给高分
解决方案 »
- isapi+dbisam iis 运行报错 求高人指点
- 寻找罗小平老师
- 如何判断一个QuickRep的打印任务完成?
- Delphi+Sql server 重要一问题,谢谢
- @@@@@用indy的tcpserver和tcpclient控件进行数据的收发,因为发送端的发送频率很高,造成发送端在关闭的时候,还有一部分数据在缓冲中,
- adoquery问题?
- 一个巨简单的问题,怎么才可以知道一个Frame中的控件数目?
- AdoTable.Filter与like语句问题
- 如何在DELPHI中打开其他应用程序,应该有这样的函数吧。
- TShape Control鼠标拖拽问题?
- 怎样写代码自动安装控件?
- 如何判断idftp客户端与server是否相连,好象用idftp1.ClosedGracefully来判断不行啊!!!!(急) (
if copy((listview2.Items[i].SubItems.Strings[7]),1,2)='13' then
gitem:=listview2.Items.Add;你看不出自己的逻辑乱吗。
你的循环这里没意义,无论怎样,最后i都是要循环到终点,改成这样:
第8项,是不是应该是SubItems[6].
listview2.SmallImages:=imagelist3;
for i:=0 to listview2.Items.Count-1 do
if copy(listview2.Items[i].SubItems[6],1,2)='13' then
begin
gitem:=listview2.Items.Add;
listview2.Items[i].ImageIndex:=0;
end else
listview2.Items[i].ImageIndex:=-1;
/////////////////////
也太吝啬了吧,一分也没。
gitem:=listview2.Items.Add;惹的祸,因为每出现一个'13',都会执行一次,这样ListView就增加了很多空的行。
你可以看看22行后面多了几行图标,就是上面有几个'13'的数据。
var
bShowIcon:boolean;
......procedure .....
...
begin
bShowIcon:=not bShowIcon;
listview1.SmallImages:=imagelist1;
for i:=0 to listview1.Items.Count-1 do
if copy(listview1.Items[i].SubItems[1],1,2)='33' then
begin
// gitem:=listview1.Items.Add;
if bShowIcon then
listview1.Items[i].ImageIndex:=0
else
listview1.Items[i].ImageIndex:=-1
end else
listview1.Items[i].ImageIndex:=-1;