社区
控件
帖子详情
删除ListView中的某一行
yhe1107
2006-05-15 04:53:29
在ListView中,如何删除其中选定的某一行,请各位指教,急!!等
...全文
266
2
打赏
收藏
删除ListView中的某一行
在ListView中,如何删除其中选定的某一行,请各位指教,急!!等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vansoft
2006-05-16
打赏
举报
回复
加個判斷.
if ListView1.SelectedItem is nothing then
'沒選中任何一行.
else
ListView1.ListItems.Remove ListView1.SelectedItem
end if
junki
2006-05-15
打赏
举报
回复
ListView1.ListItems.Remove ListView1.SelectedItem
删除
ListView
选
中
的item
点击“清理”后,在每个 item前面显示checkbox用于选
中
item,点击“
删除
”清理掉item
listview
基本用法
Delphi
ListView
基本用法大全(转)默认分类 2009-09-29 09:27:56 阅读138 评论0 字号:大
中
小 订阅 Delphi高级编程 Delphi文章 WEB开发 Delphi控件 Delphi
ListView
基本用法大全 作者:seeker 日期:2009-04-19 //增加项或列(字段)
ListView
1.Clear;
ListView
1.Columns.Clear;
ListView
1.Columns.Add;
ListView
1.Columns.Add;
ListView
1.Columns.Add;
ListView
1.Columns.Items[0].Caption:='id';
ListView
1.Columns.Items[1].Caption:='type';
ListView
1.Columns.Items[2].Caption:='title';
ListView
1.Columns.Items[2].Width:=300;
Listview
1.ViewStyle:=vsreport;
Listview
1.GridLines:=true; //注:此处代码也可以直接在可视化编辑器
中
完成, 也可写成以下这样 begin with
listview
1 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
listview
1.items.add do begin caption:='1212'; subitems.add('hh1'); subitems.add('hh2'); end; //
删除
listview
1.items.delete(0); //从数据库表里读取数据写入
Listview
var Titem:Tlistitem; //此处一定要预定义临时记录存储变量. begin
ListView
1.Items.Clear; with adoquery1 do begin close; sql.Clear; sql.Add('select spmc,jg,sl from kcxs'); Open;
ListView
1.Items.Clear; while not eof do begin Titem:=
ListView
1.Items.add; Titem.Caption:=FieldByName('spmc').Value; Titem.SubItems.Add(FieldByName('sl').Value); Titem.SubItems.Add(FieldByName('jg').Value); next; end; //
删除
ListView
1.DeleteSelected; //如何取得
ListView
中
选
中
行的某一列的值 procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(
ListView
1.Selected.SubItems.Strings[1]); //返回选
中
行第三列
中
的值 end; showMessage(
listView
1.Selected.Caption); //返回选
中
行第一列的值. 第1列的值: -->>>
ListView
1.Selected.Caption 第i列的值(i>1):-->>>
ListView
1.Selected.SubItems.Strings[i]
ListView
1.Items.Item[1].SubItems.GetText); //取得
listview
某行某列的值 Edit2.Text :=
listview
1.Items[i].SubItems.strings[0]; //读第i行第2列 返回选
中
行所有子列值.是以回车符分开的,你还要从
中
剥离出来你要的子列的值。 showMessage(
ListView
1.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.
ListView
1ColumnClick(Sender: TObject; Column: TListColumn); begin
ListView
1.CustomSort(@CustomSortProc,Column.Index); end; =============================================================== //增加 i :=
ListView
1.Items.Count; with
ListView
1 do begin ListItem:=Items.Add; ListItem.Caption:= IntToStr(i); ListItem.SubItems.Add('第 '+IntToStr(i)+' 行'); ListItem.SubItems.Add('第三列内容'); end; //按标题
删除
for i:=
ListView
1.Items.Count-1 downto 0 Do if
ListView
1.Items[i].Caption = Edit1.Text then begin
ListView
1.Items.Item[i].Delete(); //
删除
当前选
中
行 end; //选
中
一行
if
ListView
1.Selected <> nil then Edit1.Text :=
ListView
1.Selected.Caption; //
listview
1.Items[
Listview
1.Items.Count -1].Selected := True; //
listview
1.Items[
Listview
1.Items.Count -1].MakeVisible(True); procedure TForm1.Button2Click(Sender: TObject); // 选择第一条 begin
listview
1.SetFocus;
listview
1.Items[0].Selected := True; end; procedure TForm1.Button1Click(Sender: TObject); // 选择最后一条 begin
listview
1.SetFocus;
listview
1.Items[
Listview
1.Items.Count -1].Selected := True; end; //这是个通用的过程 procedure
ListView
ItemMoveUpDown(lv : T
ListView
; 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
ListView
ItemMoveUpDown(
ListView
1,
ListView
1.Selected, True, True);//上移
ListView
ItemMoveUpDown(
ListView
1,
ListView
1.Selected, False, True);//下移 T
ListView
组件使用方法 引用CommCtrl单元 procedure TForm1.Button1Click(Sender: TObject); begin
ListView
_DeleteColumn(My
ListView
.Handle, i);//i是要
删除
的列的序号,从0开始 end; 用
LISTVIEW
显示表
中
的信息: procedure viewchange(listv:t
listview
;table:tcustomadodataset;var i:integer); begin t
listview
(listv).Items.BeginUpdate; {listv:
listview
名} try t
listview
(listv).Items.Clear; with table do {table or query名} begin active:=true; first; while not eof do begin listitem:=t
listview
(listv).Items.add; listitem.Caption:=trim(table.fields[i].asstring); // listitem.ImageIndex:=8; next; end; end; finally t
listview
(listv).Items.EndUpdate; end; end;
ListView
使用
中
的一些要点。以下以一个两列的
ListView
为例。 →增加
一行
: with
ListView
1 do begin ListItem:=Items.Add; ListItem.Caption:='第一列内容'; ListItem.SubItems.Add('第二列内容'); end; →清空
ListView
1:
ListView
1.Items.Clear; →得到当前被选
中
行的行的行号以及
删除
当前行: For i:=0 to
ListView
1.Items.Count-1 Do If
ListView
1.Items[i].Selected then //i=
ListView
1.Selected.index begin
ListView
1.Items.Delete(i); //
删除
当前选
中
行 end; 当然,
ListView
有OnSelectItem事件,可以判断选择了哪行,用个全局变量把它赋值出来。 →读某行某列的操作: Edit1.Text :=
listview
1.Items[i].Caption; //读第i行第1列 Edit2.Text :=
listview
1.Items[i].SubItems.strings[0]; //读第i行第2列 Edit3.Text :=
listview
1.Items[i].SubItems.strings[1]; //读第i行第3列 以次类推,可以用循环读出整列。 →将焦点上移
一行
: For i:=0 to
ListView
1.Items.Count-1 Do If (
ListView
1.Items[i].Selected) and (i>0) then begin
ListView
1.SetFocus;
ListView
1.Items.Item[i-1].Selected := True; end; 不过在Delphi6
中
,
ListView
多了一个ItemIndex属性,所以只要
ListView
1.SetFocus;
ListView
1.ItemIndex:=3; 就能设定焦点了。 Delphi的
listview
能实现交替颜色么? procedure TForm1.
ListView
1CustomDrawItem( Sender: TCustom
ListView
; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var i: integer; begin i:= (Sender as T
ListView
).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; 要想随时更改
ListView
中
某
一行
的字体颜色,要在
ListView
的 OnCustomDrawItem 的事件
中
书写相关的代码。例如 我想更改选
中
的某行字体的颜色,则需要在事件
中
写入下的代码: if item.Index = strtoint(edit1.Text) then //该条件是用于判断是否符合更改字体颜色的行的条件。 Sender.Canvas.Font.Color := clred;
ListView
实用技巧
1 鼠标移到
ListView
某
一行
时改变该行的背景色方法 2
ListView
和和下拉菜单DropDownList结合(其他控件其实也差不多) 3
ListView
实现
删除
时弹出确认对话框 4
ListView
实现自动编号 5 将
ListView
中
的内容以Excel导出 6 高级分页 7 内嵌DetailsView控件
划动
删除
列表
ListView
中
的视图功能
划动
删除
列表
ListView
中
的视图功能,实现划动
删除
(消除)某个View的功能。可以划动
删除
任意的View(比如按钮),或者列表(
ListView
)上的某
一行
,想要下载安卓源码片段就到源码天堂安卓源码频道下载。 Sample code that shows how to make
ListView
or other views support the swipe-to-dismiss Android UI pattern. See the original Google+ post for discussion. See also Jake Wharton is port of this sample code to old versions of Android using the NineOldAndroids compatibility library.
Android滑动
删除
控件SwipeToDismissNOA.zip
Android类库,实现划动
删除
(消除)某个View的功能。可以划动
删除
任意的View(比如按钮),或者列表(
ListView
)上的某
一行
。效果图:
控件
1,451
社区成员
41,355
社区内容
发帖
与我相关
我的任务
控件
VB 控件
复制链接
扫一扫
分享
社区描述
VB 控件
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章