我想从选中的listview表中将选中的数据返回到对应的文本栏中进行修改,却出现了好几个问题:
  第一个问题:如果没选中listview的数据话,按下‘修改’按钮,程序运行即会报错,我用了if  
        listview.selected<>nil then  showmessage('没选中数据'),但是却无效,不知用那一个 
        事件或属性,能判断是否选中了数据,并作提示,而不让程序报错。
  第二个问题:我用的是以下的代码的返回数据到对应的文本栏中,但是总无法准确的把选中的数据
        返回到对应的文本栏中,如我选中了008它返回的可能是006,重复再按一次就正确了,为何
        会这样。
      procedure Tmainfrm.N17Click(Sender: TObject);
var
selstr:string;
begin
selstr:=listview1.items[listview1.Selected.index].SubItems.Strings[0];
newfrm.ShowModal;
newfrm.Edit1.Enabled:=false;
begin
with saledatemod.in_pro,newfrm do
begin
close;
sql.Clear;
sql.Add('select * from in_produce where new_id='+quotedstr(selstr));
open;
edit;
edit1.Text:=fieldbyname('new_id').AsString;
edit2.Text:=fieldbyname('pro_no').AsString;
edit3.Text:=fieldbyname('in_number').AsString;
edit4.Text:=fieldbyname('in_price').AsString;
edit6.Text:=fieldbyname('style').AsString;
close;
end;
end;
end;