社区
Delphi
帖子详情
获得listview中被选中的值
huayugu
2009-05-11 04:44:28
listview1的属性设置成viewstyle:=vslist,checkboxes:=true
动态输入a,b,c,d,f五个字符,
选中这五个字符中的a,c,f这三个字符后,它们前面的方框就打上了对钩
把这选中的三个字符写入到memo1中
请高手给段代码,谢谢
...全文
50
3
打赏
收藏
获得listview中被选中的值
listview1的属性设置成viewstyle:=vslist,checkboxes:=true 动态输入a,b,c,d,f五个字符, 选中这五个字符中的a,c,f这三个字符后,它们前面的方框就打上了对钩 把这选中的三个字符写入到memo1中 请高手给段代码,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huayugu
2009-05-11
打赏
举报
回复
请问corn1如何动态添加到listview中五个字符
Corn1
2009-05-11
打赏
举报
回复
for i := 0 to ListView1.Items.Count - 1 do
if ListView1.Items[i].Checked then
Memo1.Lines.Add(ListView1.Items[i].Caption);
ljhcy99
2009-05-11
打赏
举报
回复
for(int i =0;i<listview1.items.count;i++)
{
if(listview1.items[i].selected)
{
memo1.add(listview1.items[i]);
}
}
Android
ListView
获得
选项
中
的
值
在Android
中
我们要如何获取
ListView
选
中
项的
值
呢? 我们举个例子,假如我们已经
获得
了手机
中
保存的联系人姓名和电话号码,并把它们显示在了一个Android
ListView
中
,现在要实现的功能是当点击
选
中
项时直接拨号,那么如何取得此时Android
ListView
中
的号码? 要显示联系人姓名和电话号码,那你现在肯定已经在
listview
的item里面放了两个控件吧,假如是textview吧,那你就首先要给
listview
添加一个OnItemClickListener来监听你点击了那个item,在这个OnItemClickListener里面有个onItemClick方法,这个方法
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;
Android核心组件
ListView
详解
在Android所有常用的原生控件当
中
,用法最复杂的应该就是
ListView
了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。
ListView
可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。 另外
ListView
还有一个非常神奇的功能,我相信大家应该都体验过,即使在
ListView
中
加载非常非常多的数据,比如达到成百上千条甚至更多,
ListView
都不会发生OOM或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内存竟然都不会跟着增长。那么
ListView
是怎么实现这么神奇的功能的呢? 下面我们来学习它,了解了它的基本工作原理,在感叹Google大神能够写出如此精妙代码的同时我也有所敬畏.1,
ListView
介绍; 2,原理讲解; 3,简单实现; 4,
ListView
扩展;
listview
嵌套checkbox
完美的解决
listview
嵌套checkbox遇到的各种问题 以及checkbox
选
中
后
获得
的
值
asp.net
ListView
数据绑定
asp.net
ListView
数据绑定 实现代码
Delphi
5,390
社区成员
262,735
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章