如何从delphi中的按钮添加重复数据?

时间:2015-01-25 09:01:29

标签: delphi listview

每个表单都有两个带TListview的表单(显示我刚刚添加的数据)。 当我尝试从form1和Listview(form1)中添加数据时,它可以正常显示。但我也想要,如果我从form1添加数据,Listview(form1)和Listview(Form2)会自动添加。

这是我的代码:

procedure TForm1.btnAddClick(Sender: TObject);
var
  data1,data2    : TListItem;
  m1,m2,m3       : String;
  dat            : TForm2;
begin
  m1 := EMom1.Text;
  m2 := EMom2.Text;
  m3 := EMom3.Text;

  //listview form1
  data1 := ListView1.Items.Add;
  data1.Caption := m1;
  data1.SubItems.Add(m2);
  data1.SubItems.Add(m3);

  //listview form2  
  data2 := dat.ListView1.Items.Add; {error on this code}
  data2.Caption := m1;
  data2.SubItems.Add(m2);
  data2.SubItems.Add(m3);

1 个答案:

答案 0 :(得分:0)

data2 := dat.ListView1.Items.Add; 

变量dat尚未初始化。我希望编译器警告你这一点。我希望你启用提示和警告。

您需要提供对TForm2实例的有效引用。我对您的计划知之甚少,无法知道您的参考资料。大概你知道答案。

您还应该提取列表视图项,将代码添加到方法中:

procedure AddListItem(lv: TListView; s1, s2, s3: string);

然后,您可以通过两个不同的列表视图调用此函数两次。

最后,如果您能够切换到使用虚拟列表视图,则不需要两份数据副本。