已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Delphi ListView基本用法大全/增加项或列(字段)ListView1.Clear;ListView1.Columns.Clear;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Add;ListView1.Columns.Items0.Caption:='id'ListView1.Columns.Items1.Caption:='type'ListView1.Columns.Items2.Caption:='title'ListView1.Columns.Items2.Width:=300;Listview1.ViewStyle:=vsreport;Listview1.GridLines:=true; /注:此处代码也可以直接在可视化编辑器中完成,也可写成以下这样beginwith listview1 dobeginColumns.Add;Columns.Add;Columns.Add;ViewStyle:=vsreport;GridLines:=true;columns.items0.caption:='进程名'columns.items1.caption:='进程ID'columns.items2.caption:='进程文件路径'Columns.Items0.Width:=100;Columns.Items1.Width:=100;Columns.Items2.Width:=150;endend;/增加记录with listview1.items.add dobegincaption:='1212'subitems.add('hh1');subitems.add('hh2');end;/删除listview1.items.delete(0);/从数据库表里读取数据写入ListviewvarTitem:Tlistitem; /此处一定要预定义临时记录存储变量.beginListView1.Items.Clear;with adoquery1 dobeginclose;sql.Clear;sql.Add('select spmc,jg,sl from kcxs');Open;ListView1.Items.Clear;while not eof dobeginTitem:=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);beginShowMessage(ListView1.Selected.SubItems.Strings1); /返回选中行第三列中的值end;showMessage(listView1.Selected.Caption); /返回选中行第一列的值.第1列的值: - ListView1.Selected.Caption第i列的值(i1):- ListView1.Selected.SubItems.StringsiListView1.Items.Item1.SubItems.GetText); /取得listview某行某列的值Edit2.Text := listview1.Itemsi.SubItems.strings0; /读第i行第2列返回选中行所有子列值.是以回车符分开的,你还要从中剥离出来你要的子列的值。showMessage(ListView1.Selected.SubItems.GetText);ListView 简单排序的实现ListView 排序怎样实现单击一下按升序,再单击一下按降序。function CustomSortProc(Item1, Item2: TListItem; ColumnIndex: integer): integer; stdcall;beginif ColumnIndex = 0 thenResult := CompareText(Item1.Caption,Item2.Caption)elseResult := CompareText(Item1.SubItemsColumnIndex-1,Item2.SubItemsColumnIndex-1)end;procedure TFrmSrvrMain.ListView1ColumnClick(Sender: TObject;Column: TListColumn);beginListView1.CustomSort(CustomSortProc,Column.Index);end;=/增加i := ListView1.Items.Count;with ListView1 dobeginListItem:=Items.Add;ListItem.Caption:= IntToStr(i);ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');ListItem.SubItems.Add('第三列内容');end;/按标题删除for i:=ListView1.Items.Count-1 downto 0 Doif ListView1.Itemsi.Caption = Edit1.Text thenbeginListView1.Items.Itemi.Delete(); /删除当前选中行end;/选中一行if ListView1.Selected nil thenEdit1.Text := ListView1.Selected.Caption;/ listview1.ItemsListview1.Items.Count -1.Selected := True;/ listview1.ItemsListview1.Items.Count -1.MakeVisible(True);procedure TForm1.Button2Click(Sender: TObject); / 选择第一条beginlistview1.SetFocus;listview1.Items0.Selected := True;end;procedure TForm1.Button1Click(Sender: TObject); / 选择最后一条beginlistview1.SetFocus;listview1.ItemsListview1.Items.Count -1.Selected := True;end;/这是个通用的过程procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);varDestItem : TListItem;beginif (Item = nil) or(Item.Index - 1 = lv.Items.Count) and (not MoveUp)then Exit;lv.Items.BeginUpdate;tryif MoveUp thenDestItem := lv.Items.Insert(Item.Index - 1)elseDestItem := lv.Items.Insert(Item.Index + 2);DestItem.Assign(Item);lv.Selected := DestItem;Item.Free;finallylv.Items.EndUpdate;end;if SetFocus then lv.SetFocus;DestItem.MakeVisible(False);end;/此为调用过程,可以任意指定要移动的Item,下面是当前(Selected)ItemListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);/上移ListViewItemMoveUpDown(ListView1, ListView1.Selected, False, True);/下移TListView组件使用方法引用CommCtrl单元procedure TForm1.Button1Click(Sender: TObject);beginListView_DeleteColumn(MyListView.Handle, i);/i是要删除的列的序号,从0开始end;用LISTVIEW显示表中的信息:procedure viewchange(listv:tlistview;table:tcustomadodataset;var i:integer);begintlistview(listv).Items.BeginUpdate; listv:listview名trytlistview(listv).Items.Clear;with table do table or query名beginactive:=true;first;while not eof dobeginlistitem:=tlistview(listv).Items.add;listitem.Caption:=trim(table.fieldsi.asstring);/ listitem.ImageIndex:=8;next;end;end;finallytlistview(listv).Items.EndUpdate;end;end;ListView使用中的一些要点。以下以一个两列的ListView为例。增加一行:with ListView1 dobeginListItem:=Items.Add;ListItem.Caption:='第一列内容'ListItem.SubItems.Add('第二列内容');end;清空ListView1:ListView1.Items.Clear;得到当前被选中行的行的行号以及删除当前行:For i:=0 to ListView1.Items.Count-1 DoIf ListView1.Itemsi.Selected then /i=ListView1.Selected.indexbeginListView1.Items.Delete(i); /删除当前选中行end;当然,ListView有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。读某行某列的操作:Edit1.Text := listview1.Itemsi.Caption; /读第i行第1列Edit2.Text := listview1.Itemsi.SubItems.strings0; /读第i行第2列Edit3.Text := listview1.Itemsi.SubItems.strings1; /读第i行第3列以次类推,可以用循环读出整列。将焦点上移一行:For i:=0 to ListView1.Items.Count-1 DoIf (ListView1.Itemsi.Selected) and (i0) thenbeginListView1.SetFocus;ListView1.Items.Itemi-1.Selected := True;end;不过在Delphi6中,ListView多了一个ItemIndex属性,所以只要ListView1.SetFocus;ListView1.ItemIndex:=3;就能设定焦点了。Delphi的listview能实现交替颜色么?procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView; Item:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省汕头市濠江区金山中学2026届高一上数学期末统考试题含解析
- 西南石油大学《中学语文课程标准与教材分析》2024-2025学年第一学期期末试卷
- 数据分享合作协议
- 企业会活动策划计
- 排水板抗压强度试验记录
- 土的最大干密度(击实法)试验记录
- 高一数学上学期期中模拟卷(北师大版2019高效培优提升卷)(全解全析)
- 科技文献检索与科技论文写作.完美版
- 物资管理系统开题报告
- 《科技论文写作与实践》教学大纲
- 2025年西藏高考文科综合考试卷及答案
- WP60空压机课件教学课件
- 2025年中考英语复习必背1600课标词汇(30天记背)
- 2025-2030中国大数据产业市场规模与商业模式创新报告
- 赫章县中能石油化工有限公司金银山加油站环评报告
- 公路养护安全保证体系及措施
- 公司保密协议及竞业禁止协议
- 干冰清洗积碳课件
- 2025年事业单位工勤技师考试题库(附答案)
- 发电厂安全救护知识培训课件
- 2025年反洗钱知识竞赛试题库(附答案)
评论
0/150
提交评论