我每次在listview添加item都是这么作:
ListItem := ListView1.Items.Insert(0);
ListItem.Caption:='str1';
ListItem.SubItems.Add('str2');对listview排序是这样做的:
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;
end可是当排序后重新插入新的item就会出错越界出错,但也能插入新的item,
我想使在插入新的item时屏蔽掉该错误,怎么解决,或者还有别的彻底解决的办法不会出错,请高手帮忙。
ListItem := ListView1.Items.Insert(0);
ListItem.Caption:='str1';
ListItem.SubItems.Add('str2');对listview排序是这样做的:
procedure TForm1.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ColumnToSort := Column.Index;
(Sender as TCustomListView).AlphaSort;
end;procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
begin
ix := ColumnToSort - 1;
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;
end可是当排序后重新插入新的item就会出错越界出错,但也能插入新的item,
我想使在插入新的item时屏蔽掉该错误,怎么解决,或者还有别的彻底解决的办法不会出错,请高手帮忙。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货