ListView1中的数据是从数据表格里读出来的
//循环写入
.........
Open;
First;
ListView1.Items.Clear;
while not eof do
begin
MyListItem:=ListView1.Items.Add;
For i:=0 to 10 do MyListItem.SubItems.Add('');
MyListItem.Caption:=FieldByName('运单号').AsString; //要取的那个值
MyListItem.SubItems[0]:=FieldByName('收货人').AsString;
MyListItem.SubItems[1]:=FieldByName('发货人').AsString;
.........
next;
end; 那么我选中一行记录. 去判断它(某个字段值)是不是在另外的一个表里也有出现, 那么我应该在它的哪个事件里事件去判断, 我的SQL 语名 Where 字段名= ...(怎么去取选中记录的那个字段值呢),如果选取多行,那又如何循环判断呢?
因为没有用到过这个控件, 也没有参加过这个程序的设计, 我只是半路上的程咬金, 各位帮帮忙了.
//循环写入
.........
Open;
First;
ListView1.Items.Clear;
while not eof do
begin
MyListItem:=ListView1.Items.Add;
For i:=0 to 10 do MyListItem.SubItems.Add('');
MyListItem.Caption:=FieldByName('运单号').AsString; //要取的那个值
MyListItem.SubItems[0]:=FieldByName('收货人').AsString;
MyListItem.SubItems[1]:=FieldByName('发货人').AsString;
.........
next;
end; 那么我选中一行记录. 去判断它(某个字段值)是不是在另外的一个表里也有出现, 那么我应该在它的哪个事件里事件去判断, 我的SQL 语名 Where 字段名= ...(怎么去取选中记录的那个字段值呢),如果选取多行,那又如何循环判断呢?
因为没有用到过这个控件, 也没有参加过这个程序的设计, 我只是半路上的程咬金, 各位帮帮忙了.
if ListView1.Items[i].Selected=true then//判断是否选中了i行
begin
ListView1.Items[i].SubItems[0] ------------收货人
end;
根据你回答的:
我 写的
for i:=0 to ListView1.Items.Count-1 do
Begin
if ListView1.Items[i].Selected=true then//判断是否选中了i行
begin
Panduan(ListView1.Items[i].Caption)----------Panduan:过程-- (运单号) 存在另外的一个表中;
end;
End;
现在还是有点糊涂,那么 循环也是这样判断了--也就这段代码就能完成了喽
if ListView1.Selected <> nil then
begin
ListView.Select.SubString[0] .....
end;
listview有个SelCount属性可以取得被选中的个数.然后循环:
使用 function GetNextItem(StartItem: TListItem;
Direction: TSearchDirection; States: TItemStates): TListItem; 这个函数最后一个参数:
TItemState = (isNone, isCut, isDropHilited, isFocused, isSelected, isActivating);
TItemStates = set of TItemState;States可以指定为:isSelected一直到GetNextItem返回的结果为NIL.