想了几天都没解决。
问题是这样的,做排班的时候,使用两listView ,一个listView1显示该班组里已有的员工号和员工姓名, 另一个listView2里显示剩下可选入该班组的员工号和姓名,问题一 :我想实现班组的员工修改,如把listView2里的员工号和员工姓名加到listView1里去,分单选和多选来实现。问题二 : 由于我初学,只知道用listView显示数据库里的数据,如何把一个listView里的信息循环读入数据库?也就是说我要把班组表的listView1里的数据:员工号和员工姓名重新写入数据库,如何实现这个。问题解决马上给分!
问题是这样的,做排班的时候,使用两listView ,一个listView1显示该班组里已有的员工号和员工姓名, 另一个listView2里显示剩下可选入该班组的员工号和姓名,问题一 :我想实现班组的员工修改,如把listView2里的员工号和员工姓名加到listView1里去,分单选和多选来实现。问题二 : 由于我初学,只知道用listView显示数据库里的数据,如何把一个listView里的信息循环读入数据库?也就是说我要把班组表的listView1里的数据:员工号和员工姓名重新写入数据库,如何实现这个。问题解决马上给分!
这样你左右互选多少就可以通过一次遍历就可以了
for i:=0 to listview1.items.cout-1 do
begin
if listview1.items.item[i].checked then
begin
adoquery1.close;
adoquery1.sql.text:='insert...........';
每次这样就可以了,多选也是一个一个插入的
怕重复的话可以每插入一条再重新来个删除这个数据重复的那个sql语句好像是distinct什么的
end;
end;
班组表班组编号 :ZB0001listView1 :班组员工表 listVie2: 可添加的员工表
----------- -------------
工号 姓名 << 工号 姓名
JG001 张三 < JG003 xxx
JG002 李四 JG004 YYYY
> . .
>> . .
------------------------------------------------------------
其实要实现的功能用LISTBOX就比较简单,但是我现在要用LISTVIE来做
从数据库读出数据到LISTVIEW我知道,但是他们之间的修改和交换,然后
重新读回数据库我就不知道怎么写了,大家帮帮忙了、
其实你这种模式最简单的办法就是在完成更改后最后一起更改数据库
到时候你可以把listview1对应的表内数据删除,然后重写一遍,别看这样麻烦,但不会影响太多效率
同样2也可以这样,所有更改都实现了
我前边写的方法也可以
如果你要是不会对数据库数据进行修改的话就当我这些白写了
可以看些sql的书
把listview看成一个显示组件,再写个程序用于标记修改。
NO,name:string;
item: TLIstItem;
begin
no:=listview2.Selected.Caption;
name:=listview2.Selected.SubItems.Text;
listview2.Selected.Delete;
item:=listview1.Items.Add;
item.Caption :=no;
item.SubItems.Text:=name;
end;
这个是从listview2中将指定记录移到1中的简单的例子,不知道你是不是想看这个
至于整体的方法 楼上的几位说的都不错的。