信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 13036|回复: 17

[『WPS图文教程』] Delphi ListView用法太全应该有的技巧全部在这里可以总结

[复制链接]

1900

主题

1910

帖子

1万

积分

积分
11122
发表于 2017-7-31 19:28:35 | 显示全部楼层 |阅读模式

软件教程首图:

软件教程分类:Delphi基础教程 

软件图文教程视频教程分类:软件视频教程 

软件教程难易程度:软件中级教程 

软件教程发布日期:Delphi ListView

软件教程关键字:Delphi ListView用法太全应该有的技巧全部在这里可以总结

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述
本帖最后由 群发软件 于 2017-7-31 19:31 编辑

ListView1.Clear;
ListView1.Columns.Clear;
ListView1.Columns.Add;
ListView1.Columns.Add;
ListView1.Columns.Add;
ListView1.Columns.Items[0].Caption:='id';
ListView1.Columns.Items[1].Caption:='type';
ListView1.Columns.Items[2].Caption:='title';
ListView1.Columns.Items[2].Width:=300;
Listview1.ViewStyle:=vsreport;
Listview1.GridLines:=true;               //注:此处代码也可以直接在可视化编辑器中完成,

也可写成以下这样

begin
with listview1 do
begin
Columns.Add;
Columns.Add;
Columns.Add;
ViewStyle:=vsreport;
GridLines:=true;
columns.items[0].caption:='进程名';
columns.items[1].caption:='进程ID';
columns.items[2].caption:='进程文件路径';
Columns.Items[0].Width:=100;
Columns.Items[1].Width:=100;
Columns.Items[2].Width:=150;
end
end;


//增加记录
with listview1.items.add do
begin
caption:='1212';
subitems.add('hh1');
subitems.add('hh2');
end;

//删除
listview1.items.delete(0);

//从数据库表里读取数据写入Listview

var
Titem:Tlistitem;       //此处一定要预定义临时记录存储变量.
begin
ListView1.Items.Clear;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select spmc,jg,sl from kcxs');
Open;
ListView1.Items.Clear;
while not eof do
begin
Titem:=ListView1.Items.add;
Titem.Caption:=FieldByName('spmc').Value;
Titem.SubItems.Add(FieldByName('sl').Value);
Titem.SubItems.Add(FieldByName('jg').Value);
next;
end;

//删除
ListView1.DeleteSelected;

//如何取得ListView中选中行的某一列的值

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(ListView1.Selected.SubItems.Strings[1]); //返回选中行第三列中的值
end;

showMessage(listView1.Selected.Caption);   //返回选中行第一列的值.

第1列的值: -->>> ListView1.Selected.Caption   
第i列的值(i>1):-->>> ListView1.Selected.SubItems.Strings

ListView1.Items.Item[1].SubItems.GetText); //取得listview某行某列的值

Edit2.Text := listview1.Items.SubItems.strings[0];   //读第i行第2列

返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。

showMessage(ListView1.Selected.SubItems.GetText);   

ListView 简单排序的实现

ListView 排序


怎样实现单击一下按升序,再单击一下按降序。
function CustomSortProc(Item1, Item2: TListItem; ColumnIndex: integer): integer; stdcall;
begin
if ColumnIndex = 0 then
Result := CompareText(Item1.Caption,Item2.Caption)
else
Result := CompareText(Item1.SubItems[ColumnIndex-1],Item2.SubItems[ColumnIndex-1])
end;

procedure TFrmSrvrMain.ListView1ColumnClick(Sender: TObject;
Column: TListColumn);
begin
ListView1.CustomSort(@CustomSortProc,Column.Index);
end;

===============================================================

//增加
i := ListView1.Items.Count;
with ListView1 do
begin
ListItem:=Items.Add;
ListItem.Caption:= IntToStr(i);
ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
ListItem.SubItems.Add('第三列内容');
end;

//按标题删除
for i:=ListView1.Items.Count-1 downto 0 Do
if ListView1.Items.Caption = Edit1.Text then
begin
ListView1.Items.Item.Delete(); //删除当前选中行
end;

//选中一行
if ListView1.Selected <> nil then
Edit1.Text := ListView1.Selected.Caption;


// listview1.Items[Listview1.Items.Count -1].Selected := True;
// listview1.Items[Listview1.Items.Count -1].MakeVisible(True);
procedure TForm1.Button2Click(Sender: TObject); // 选择第一条
begin
listview1.SetFocus;
listview1.Items[0].Selected := True;
end;

procedure TForm1.Button1Click(Sender: TObject); // 选择最后一条
begin
listview1.SetFocus;
listview1.Items[Listview1.Items.Count -1].Selected := True;
end;

//这是个通用的过程
procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);
var
DestItem : TListItem;
begin
if (Item = nil) or
((Item.Index - 1 < 0) and MoveUp) or
((Item.Index + 1 >= lv.Items.Count) and (not MoveUp))
then Exit;
lv.Items.BeginUpdate;
try
if MoveUp then
DestItem := lv.Items.Insert(Item.Index - 1)
else
DestItem := lv.Items.Insert(Item.Index + 2);
DestItem.Assign(Item);
lv.Selected := DestItem;
Item.Free;
finally
lv.Items.EndUpdate;
end;
if SetFocus then lv.SetFocus;
DestItem.MakeVisible(False);
end;

//此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)Item
ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);//上移
ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);//下移


TListView组件使用方法

引用CommCtrl单元

procedure TForm1.Button1Click(Sender: TObject);
begin
ListView_DeleteColumn(MyListView.Handle, i);//i是要删除的列的序号,从0开始

end;

用LISTVIEW显示表中的信息:
procedure viewchange(listv:tlistview;table:tcustomadodataset;var i:integer);
begin
tlistview(listv).Items.BeginUpdate; {listv:listview名}
try
tlistview(listv).Items.Clear;
with table do {table or query名}
begin
active:=true;
first;
while not eof do
begin
listitem:=tlistview(listv).Items.add;
listitem.Caption:=trim(table.fields.asstring);
// listitem.ImageIndex:=8;
next;
end;
end;
finally
tlistview(listv).Items.EndUpdate;
end;
end;



ListView使用中的一些要点。以下以一个两列的ListView为例。
→增加一行:
with ListView1 do
begin
ListItem:=Items.Add;
ListItem.Caption:='第一列内容';
ListItem.SubItems.Add('第二列内容');
end;
→清空ListView1:
ListView1.Items.Clear;
→得到当前被选中行的行的行号以及删除当前行:
For i:=0 to ListView1.Items.Count-1 Do
If ListView1.Items.Selected then //i=ListView1.Selected.index
begin
ListView1.Items.Delete(i); //删除当前选中行
end;
当然,ListView有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。
→读某行某列的操作:
Edit1.Text := listview1.Items.Caption; //读第i行第1列
Edit2.Text := listview1.Items.SubItems.strings[0]; //读第i行第2列
Edit3.Text := listview1.Items.SubItems.strings[1]; //读第i行第3列
以次类推,可以用循环读出整列。
→将焦点上移一行:
For i:=0 to ListView1.Items.Count-1 Do
If (ListView1.Items.Selected) and (i>0) then
begin
ListView1.SetFocus;
ListView1.Items.Item[i-1].Selected := True;
end;
不过在Delphi6中,ListView多了一个ItemIndex属性,所以只要
ListView1.SetFocus;
ListView1.ItemIndex:=3;
就能设定焦点了。


Delphi的listview能实现交替颜色么?
procedure TForm1.ListView1CustomDrawItem(
Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
var DefaultDraw: Boolean);
var
i: integer;
begin
i:= (Sender as TListView).Items.IndexOf(Item);
if odd(i) then sender.Canvas.Brush.Color:= $02E0F0D7
else sender.Canvas.Brush.Color:= $02F0EED7;
Sender.Canvas.FillRect(Item.DisplayRect(drIcon));
end;

本文章介绍了Delphi XE6关于ListView使用的一些基本方法,目前XE6的ListView在用户体验方便是越来越好,将ListView放到Form上面,通过置ItemAppearance属性,就能够设置出很好的效果

102407gsmvsdkvjpvrdxwx.jpg


ItemAppearance的值不同,Item的属性值会随之变化,主要是以下几项:
  • Item.Text:Item左侧显示的标题
  • Item.Bitmap:左侧显示的图标
  • Item.ButtonText:右测按钮显示的标题
  • Item.Detail:右侧显示的详细内容

在为ListVIew添加数据,主要有两个方法1:编写代码,2:binding方法来实现可视化操作。

1:首先演示下通过代码来添加ListView数据,其实在Delphi XE6的安装目录的Demo下面,有很多这样的例子,大家可以去学习下
  • var
  •   LItem: TListViewItem;
  •   I: Integer;
  • begin
  •   ListView1.BeginUpdate;//提高效率
  •   try
  •     for I := 1 to 10 do
  •     begin
  •       LItem := ListView1.Items.Add;
  •       LItem.Text := IntToStr(I);
  •     end;
  •   finally
  •     ListView1.EndUpdate;
  •   end;
  • end;

[color=rgb(51, 102, 153) !important]复制代码


2:是利用binding,完全可视化的方式。放置一个TProtoTypeBindSource,为其增加几个Field,然后利用右键bind Visually,即binding可视设计器,将Field联接到item的Text等属性。如图:
102613r61b404n0n88dn0v.jpg


ProtoTypeBindSource,为我们准备好了测试数据,这样即时得到了运行期才能看到的结果。

本文章介绍了Delphi XE6关于ListView使用的一些基本方法,目前XE6的ListView在用户体验方便是越来越好,将ListView放到Form上面,通过置ItemAppearance属性,就能够设置出很好的效果

102407gsmvsdkvjpvrdxwx.jpg


ItemAppearance的值不同,Item的属性值会随之变化,主要是以下几项:
  • Item.Text:Item左侧显示的标题
  • Item.Bitmap:左侧显示的图标
  • Item.ButtonText:右测按钮显示的标题
  • Item.Detail:右侧显示的详细内容

在为ListVIew添加数据,主要有两个方法1:编写代码,2:binding方法来实现可视化操作。

1:首先演示下通过代码来添加ListView数据,其实在Delphi XE6的安装目录的Demo下面,有很多这样的例子,大家可以去学习下
  • var
  •   LItem: TListViewItem;
  •   I: Integer;
  • begin
  •   ListView1.BeginUpdate;//提高效率
  •   try
  •     for I := 1 to 10 do
  •     begin
  •       LItem := ListView1.Items.Add;
  •       LItem.Text := IntToStr(I);
  •     end;
  •   finally
  •     ListView1.EndUpdate;
  •   end;
  • end;

[color=rgb(51, 102, 153) !important]复制代码


2:是利用binding,完全可视化的方式。放置一个TProtoTypeBindSource,为其增加几个Field,然后利用右键bind Visually,即binding可视设计器,将Field联接到item的Text等属性。如图:
102613r61b404n0n88dn0v.jpg


ProtoTypeBindSource,为我们准备好了测试数据,这样即时得到了运行期才能看到的结果。

回复

使用道具 举报

0

主题

661

帖子

669

积分

积分
669
发表于 2017-7-31 19:33:51 | 显示全部楼层
服务一流!效果明显,不错,给爱易设计师点个赞!

回复 支持 反对

使用道具 举报

0

主题

596

帖子

677

积分

积分
677
发表于 2017-8-1 04:40:49 | 显示全部楼层
的挺好的,操作起来简单,老板也很有耐心,满意

回复 支持 反对

使用道具 举报

0

主题

652

帖子

686

积分

积分
686
发表于 2017-8-1 05:23:37 | 显示全部楼层
不知该说些什么。。。。。。就是谢谢

回复 支持 反对

使用道具 举报

0

主题

632

帖子

622

积分

积分
622
发表于 2017-8-3 13:56:16 | 显示全部楼层
超快,包装也很好,服务态度非常好,喜欢

回复 支持 反对

使用道具 举报

0

主题

604

帖子

602

积分

积分
602
发表于 2017-8-4 03:07:26 | 显示全部楼层
快,页面设计很满意,而且也很,老板人不错,喜欢

回复 支持 反对

使用道具 举报

0

主题

632

帖子

630

积分

积分
630
发表于 2017-8-4 21:17:31 | 显示全部楼层
特别满意,很细心很周到的为我司考虑设计方案,耐心的一点点修改。我之前的网站就是077号做的,这次添加搜索栏也是找的她以后还要找她~

回复 支持 反对

使用道具 举报

0

主题

596

帖子

677

积分

积分
677
发表于 2017-8-4 23:41:40 | 显示全部楼层
哈哈

回复 支持 反对

使用道具 举报

0

主题

632

帖子

630

积分

积分
630
发表于 2017-8-5 00:13:11 | 显示全部楼层
很好,服务很好,耐心细致,下次还会来的

回复 支持 反对

使用道具 举报

0

主题

636

帖子

624

积分

积分
624
发表于 2017-8-7 23:35:20 | 显示全部楼层
及时做出评价,系统默认好评!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
群发软件H5日志打印运行过程例子
H5日志打印运行过程例子
群发软件AIWROK软件字符串方法实用案例
AIWROK软件字符串方法实用案例
群发软件HID贝塞尔曲线运动控制器
HID贝塞尔曲线运动控制器
群发软件AIWROK苹果脚本sleep方法综合实战示例
AIWROK苹果脚本sleep方法综合实战示例
群发软件苹果脚本Line控件的多种创意用法和实际应用场景
苹果脚本Line控件的多种创意用法和实际应用场景
群发软件苹果脚本toast高级应用综合示例
苹果脚本toast高级应用综合示例
群发软件苹果智能OCR自动化助手
苹果智能OCR自动化助手
群发软件苹果脚本UI超快速点击示例
苹果脚本UI超快速点击示例
群发软件展示时间戳的各种复杂处理方法
展示时间戳的各种复杂处理方法
群发软件苹果脚本随机数实用示例
苹果脚本随机数实用示例
群发软件安卓手机脚本多种倒计时显示方式
安卓手机脚本多种倒计时显示方式
群发软件苹果脚本屏幕事件EVENT示例
苹果脚本屏幕事件EVENT示例
群发软件苹果脚本屏幕类screen例子
苹果脚本屏幕类screen例子
群发软件安卓手机config配置演示实列
安卓手机config配置演示实列
群发软件苹果脚本配置config小实例
苹果脚本配置config小实例 https://www.yuque.com/aiwork/dcvhmb/qolobpysdg0hvi2e
群发软件苹果脚本矩形类rect小实例
苹果脚本矩形类rect小实例
群发软件AIWROK安卓苹果平台设计的实用工具库
AIWROK安卓苹果平台设计的实用工具库
群发软件AIWROK软件Function导入方法实例演示
AIWROK软件Function导入方法实例演示
群发软件苹果脚本实例1项目project应用示例
苹果脚本实例1项目project应用示例
群发软件苹果脚本实例1剪贴板功能集成
苹果脚本实例1剪贴板功能集成
群发软件苹果iOS脚本Detect类系统性使用示例
苹果iOS脚本Detect类系统性使用示例
群发软件AIWROK苹果系统打印H5界面日志输出
AIWROK苹果系统打印H5界面日志输出
群发软件H5案例自动化看广告撸金币系统
H5案例自动化看广告撸金币系统
群发软件AIWROK苹果脚本H5任务执行小例子
AIWROK苹果脚本H5任务执行小例子
群发软件AIWROK软件苹果水平容器[Horizontal]小实例
AIWROK软件苹果水平容器[Horizontal]小实例
群发软件AIWROK苹果脚本实例1界面UI输入框类[Input]
AIWROK苹果脚本实例1界面UI输入框类
群发软件AIWROK软件苹果脚本案例1空白站位[Space]方法
AIWROK软件苹果脚本案例1空白站位[Space]方法
群发软件AIWROK软件苹查系统复选框用法
AIWROK软件苹查系统复选框用法
群发软件苹果AIWROK实例单选按钮组类[RadioButtonGroup]完整综合示例
苹果AIWROK实例单选按钮组类[RadioButtonGroup]完整综合示例
群发软件AIWROK软件苹果实例UI-垂直容器[Vertical]高级综合示例
AIWROK软件苹果实例UI-垂直容器[Vertical]高级综合示例
群发软件IOS苹果脚本View的完整功能实例
IOS苹果脚本View的完整功能实例
群发软件AIWROK苹果系统实例演示1标签类[Label]方法
AIWROK苹果系统实例演示1标签类[Label]方法
信息发布软件AIWROK软件苹果UI按钮Button方法示例
AIWROK软件苹果UI按钮Button方法示例
信息发布软件AIWROK软件苹果TAB界面视图示例
AIWROK软件苹果TAB界面视图示例
信息发布软件AIWROK苹果系统自带view视图简洁UI界面示例
AIWROK苹果系统自带view视图简洁UI界面示例
信息发布软件汇集HID安卓输入文字的方法和复制粘贴示例
汇集HID安卓输入文字的方法和复制粘贴示例
信息发布软件AIWROK软件找字与OCR方法汇总示例
AIWROK软件找字与OCR方法汇总示例
信息发布软件AIWROK软件找图方法汇总示例
AIWROK软件找图方法汇总示例
信息发布软件AIWROK软件滑动方法集合示例
AIWROK软件滑动方法集合示例
信息发布软件AIWROK软件安卓AIWROK汇集软件点击
AIWROK软件安卓AIWROK汇集软件点击
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-4-11 16:44 , Processed in 0.559892 second(s), 54 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表