listView.item的MoveUp and MoveDownMoveUp's code:能正常工作
procedure TFrmColumnSetting.MoveUPClick(Sender: TObject);
Var
Source,Target: TListItem;
Index: Integer;
begin
Index := LVFieldList.ItemIndex;
if Index > 0 then
begin
Source := LVFieldList.Selected;
try
LVFieldList.Items.BeginUpdate;
Target := LVFieldList.Items.Insert(Index-1);
Target.Assign(Source);
Source.Free;
LVFieldList.Items.EndUpdate;
LVFieldList.SetFocus;
LVFieldList.ItemIndex := Index - 1;
except
on E : exception do
begin
MessageDlg(E.Message,mtInformation,[mbok],0);
end;
end;
End
else
begin
//MessageDlg('Please select the item first.',mtInformation,[mbok],0);
end;
end;Move Down's Code如下,为何不行,奇怪?
procedure TFrmColumnSetting.RzButton1Click(Sender: TObject);
Var
Source,Target: TListItem;
Index: Integer;
begin
Index := LVFieldList.ItemIndex;
if Index > 0 then
begin
Source := LVFieldList.Selected;
try
LVFieldList.Items.BeginUpdate; Target := LVFieldList.Items.Insert(Index + 1);
Target.Assign(Source);
Source.Free;
LVFieldList.Items.EndUpdate;
LVFieldList.SetFocus;
LVFieldList.ItemIndex := Index + 1;
except
on E : exception do
begin
MessageDlg(E.Message,mtInformation,[mbok],0);
end;
end;
End
else
begin
//MessageDlg('Please select the item first.',mtInformation,[mbok],0);
end;
end;
procedure TFrmColumnSetting.MoveUPClick(Sender: TObject);
Var
Source,Target: TListItem;
Index: Integer;
begin
Index := LVFieldList.ItemIndex;
if Index > 0 then
begin
Source := LVFieldList.Selected;
try
LVFieldList.Items.BeginUpdate;
Target := LVFieldList.Items.Insert(Index-1);
Target.Assign(Source);
Source.Free;
LVFieldList.Items.EndUpdate;
LVFieldList.SetFocus;
LVFieldList.ItemIndex := Index - 1;
except
on E : exception do
begin
MessageDlg(E.Message,mtInformation,[mbok],0);
end;
end;
End
else
begin
//MessageDlg('Please select the item first.',mtInformation,[mbok],0);
end;
end;Move Down's Code如下,为何不行,奇怪?
procedure TFrmColumnSetting.RzButton1Click(Sender: TObject);
Var
Source,Target: TListItem;
Index: Integer;
begin
Index := LVFieldList.ItemIndex;
if Index > 0 then
begin
Source := LVFieldList.Selected;
try
LVFieldList.Items.BeginUpdate; Target := LVFieldList.Items.Insert(Index + 1);
Target.Assign(Source);
Source.Free;
LVFieldList.Items.EndUpdate;
LVFieldList.SetFocus;
LVFieldList.ItemIndex := Index + 1;
except
on E : exception do
begin
MessageDlg(E.Message,mtInformation,[mbok],0);
end;
end;
End
else
begin
//MessageDlg('Please select the item first.',mtInformation,[mbok],0);
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货