最基本的:
ListView1.Items 为标准 Tlistitems类
ListView1.Items
1. 赋值
with ListView1.Items.Add do
begin
Caption:=caption; //添加第一项
SubItems.add(aaaaa); //添加后面数据
SubItems.add(1234);
SubItems.add(1234);
end; //一定要使用WITH结构.
2. 取值
listview1.Items.Item[i].Caption 取得某条数据标题
listview1.Items.Item[i].SubItems.Strings[j] 取得某条数据内容
listview1.Items.Item[i].SubItems.CommaText 一条记录的全部内容,
格式: "标题","内容1","内容2",....
listview1.Items.Item[i].SubItems.Text 一条记录的全部内容,
格式: 标题,内容,内容2....
3. 删除
listview1.Items.Item[i].Delete; 删除一条数据
4. 数据类型(长度)定义
i:=ListView1.Items.Count 数据条数
listview1.Items.Item[i].Selected 该条数据选中否(MultiSelect决定单选复选)
5. 其他
ListView1.Items.Clear; 清除数据
6. 修改
listview1.selected.caption := form2.edit1.text;
listview1.selected.subitems.strings[0] := form2.edit2.text;
listview1.selected.subitems.strings[1] := form2.edit3.text
7. 多行选择及复选框
//多行选择
if lv1.Selected <> nil then
begin
for i:=1 to lv1.SelCount do
begin
if lv1.Selected.Selected then
begin
showmessage(lv1.Selected.Caption);
lv1.Selected.Selected:=False; //不可缺少
end;
end;
end;
复选框操作
for i:= 0 to lv1.Items.Count - 1 do
begin
if lv1.Items[i].Checked then ShowMessage(lv1.Items[i].Caption);
end;
扩展:
Delphi中listview编辑列的实现-实现多列编辑
http://hi.baidu.com/letwin/blog/item/1356262236f90faf4623e89b.html
大致意思:双击时找到当前选择的行,并通过列遍历找到具体的列,找到行列就可以定位单元格了,然后读出来数据到Edit,同时设置Edit显示,当离开Edit时把具体的值写回ListView。
http://topic.csdn.net/t/20050415/01/3937830.html 这个更直接, 把edit直接移过去, 都不用自己画, 固定列宽后, 就跟真的一样了