当前位置:文档之家› C#中ListView的用法

C#中ListView的用法

C# 中LISTVIEW用法//增加项或列(字段)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; //注:此处代码也可以直接在可视化编辑器中完成, 也可写成以下这样beginwith listview1 dobeginColumns.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;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.Strings[1]); //返回选中行第三列中的值end;showMessage(listView1.Selected.Caption); //返回选中行第一列的值.第1列的值:-->>> ListView1.Selected.Caption第i列的值(i>1):-->>> ListView1.Selected.SubItems.Strings[i]ListView1.Items.Item[1].SubItems.GetText); //取得listview某行某列的值Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第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.SubItems[ColumnIndex-1],Item2.SubItems[ColumnIndex-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.Items[i].Caption = Edit1.Text thenbeginListView1.Items.Item[i].Delete(); //删除当前选中行end;//选中一行if ListView1.Selected <> nil thenEdit1.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); // 选择第一条beginlistview1.SetFocus;listview1.Items[0].Selected := True;end;procedure TForm1.Button1Click(Sender: TObject); // 选择最后一条beginlistview1.SetFocus;listview1.Items[Listview1.Items.Count -1].Selected := True;end;//这是个通用的过程procedure ListViewItemMoveUpDown(lv : TListView; Item : TListItem; MoveUp, SetFocus : Boolean);varDestItem : TListItem;beginif (Item = nil) or((Item.Index - 1 < 0) and MoveUp) 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.fields[i].asstring);// listitem.ImageIndex:=8;next;end;end;finallytlistview(listv).Items.EndUpdate;end;end;ListView使用中的一些要点。

相关主题