ListView如何设置选中某行

Y.A.K.E 2013-07-16 11:19:57
比如有一个已经有很多项目的表.
设置了rowselect 为真.
现在要实现一个"按行"定位功能,比如我有一个编辑框,输入一个数字,然后我点下按钮就自动选中这行.
...全文
1728 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
F_Ronal 2013-07-18
  • 打赏
  • 举报
回复
lvCell.Items[i].Selected := True; lvCell.Selected.MakeVisible(True);
s11ss 2013-07-18
  • 打赏
  • 举报
回复
ListView1.ItemIndex := 0;//第一行,以此类推
sololie 2013-07-16
  • 打赏
  • 举报
回复

procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
// 初始化 TListView
lv1.ViewStyle := vsReport;
lv1.RowSelect := True;

for i := 0 to 3 do
begin
lv1.Columns.Add.Width := 150;
end;

lv1.Column[0].Caption := '字段1';
lv1.Column[1].Caption := '字段2';
lv1.Column[2].Caption := '字段3';
lv1.Column[3].Caption := '字段4';

for i := 0 to 3 do
begin
with lv1.Items.Add do
begin
Caption := '第' + IntToStr(i + 1) + '行第1列';
SubItems.Add('第' + IntToStr(i + 1) + '行第2列');
SubItems.Add('第' + IntToStr(i + 1) + '行第3列');
SubItems.Add('第' + IntToStr(i + 1) + '行第4列');
end;
end;

end;

procedure TForm1.btn1Click(Sender: TObject);
var
sRowIndex: Integer;
begin
if edt1.Text = '' then
Exit;
sRowIndex := StrToInt(edt1.Text);
if (sRowIndex < 1) or (sRowIndex > lv1.Items.Count) then
Exit;
lv1.SetFocus;
lv1.ItemIndex := sRowIndex - 1;
end;





正规的用于展示表格应该用tstringgrid或tdbgrid

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧