我的程序中有4个tstringlist,分别对应ListView的4列,请问有什么快速的方法把tstringlist的内容在listview中显示出来?
解决方案 »
- 瞧一瞧,看一看,不要错过,小弟跪求一个问题,已经困扰几天了,请各位高手帮忙
- sendmessage如何发送鼠标坐标
- p2p 用delphi写 两机子都在局域网怎么自己通迅啊..???
- 高人们.请进来讲讲这段代码是什么意思;小弟不甚懂?{详细点}谢谢
- TreeView的节点上如何模拟鼠标双击事件
- 谁知道“类别未授权使用”是个什么错误?如何解决?
- 快来拿100分...
- 请教如何让EDIT中只能输入数字?
- 指导:计算字段(calculated字段)中的数据怎么样才能真正的写到数据库中去?
- 关于一个WinAPI的问题,有些难!
- windowsmediaplay 全屏问题
- 请问TdxDBGrid中,怎么取出一个单元格中的数据?
var
StrList: TStrings;
item: TListItem;
begin
StrList := TStringList.Create;
try
StrList.Add('bbb');
StrList.Add('CCC');
item := ListView1.Items.Add;
item.Caption := 'AAA';
item.SubItems.AddStrings(StrList);
finally
StrList.Free;
end;
end;//一个小小例子
SL:TStrings;
index:integer;
begin
SL:=TStringList.Create ;
SL.Add('ddddddddd');
SL.Add('ccccccccc'); for index:=0 to (SL.Count -1) do
begin
ListBox1 .Items.Add(SL[index]);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
NewColumn: TListColumn;
ListItem: TListItem;
ListView: TListView;
Strings1,Strings2,Strings3,Strings4 : TStrings;
begin
Strings1 := TStringList.Create; //释放的工作放在窗体销毁时做
Strings1.Add('ok1');
Strings1.Add('ok2');
Strings1.Add('ok3');
Strings1.Add('ok4');
Strings2 := Strings1;
Strings3 := Strings2;
Strings4 := Strings3;
ListView := TListView.Create(Self); //同上
with ListView do
begin
Parent := Self;
Align := alClient;
ViewStyle := vsReport; //设置呈现的模式
NewColumn := Columns.Add; //添加四个列
NewColumn.Caption := 'First';
NewColumn := Columns.Add;
NewColumn.Caption := 'Second';
NewColumn := Columns.Add;
NewColumn.Caption := 'Last';
NewColumn := Columns.Add;
NewColumn.Caption := 'One More';
for I := 0 to 3 do
begin
ListItem := Items.Add;
ListItem.Caption :=Strings1[I];
ListItem.SubItems.Add(Strings2[I]);
ListItem.SubItems.Add(Strings3[I]);
ListItem.SubItems.Add(Strings4[I]);
end;
end;
end;
比如给你思路就是不要让ListView出现下拉菜单。自己实现翻页的效果,四个Button,一个ComboBox,四个Button分别是第一页、上一页等等,然后还可以实现直接选页。
比方你想让用户一次看到30个记录,那么当用户选择了要看第30000-30030条记录的时候,相当于他选择了要看第301页的记录,那么你就可以按照我上面的方法:
for I := 29999 to 30029 do
begin
ListItem := Items.Add;
ListItem.Caption :=Strings1[I];
ListItem.SubItems.Add(Strings2[I]);
ListItem.SubItems.Add(Strings3[I]);
ListItem.SubItems.Add(Strings4[I]);
end;
你可以试一试,应该没有大问题。