delphi怎么中向主窗体的listview中添加子窗体中的数据(按行添加)

delphi怎么中向主窗体的listview中添加子窗体中的数据(按行添加),第1张

column为列的标题;

column1

:学号;column2:姓名;column3:年龄;

with

listview1.items.add

do

begin

caption:=No1//no1

is

a

value

from

MDIfm

subitems.add(name1)

//name1

is

a

value

form

MdiFM

subitems.add(age1)

//age1

is

a

value

form

MDIFM

end

//以上No1

,

name1

,

age1为string类型

使用其它窗口来对主窗口中的ListView添加数据的代码如下:

在使用中,关键是窗口必须在关闭后才执行添加数据的代码,而Show函数在实际执行时,是不会等待窗口关闭的,因此,它导致还未得到窗口中的数据就已经执行完了添加代码,因此导致添加的数据不正确。

为了解决这个问题,数据界面窗口必须使用模式显示,即调用 ShowModal函数。

procedure TStuArg.btnAddClick(Sender: TObject)//增加按钮事件

begin

  Application.CreateForm(TSetStuArg,SetStuArg)//生成一个窗口

  SetStuArg.ShowModal//*****使用此函数是关键,不可以使用show函数

  with StuArg.lvStuArg.Items.Add do   //增加item中的选项

  begin

    Caption:=(SetStuArg.edtName.Text)

    //姓名=学生信息设置窗口中姓名字符串,以下都是

    SubItems.Add(SetStuArg.edtId.Text)

    SubItems.Add(SetStuArg.cbbGender.Items.Strings[SetStuArg.cbbGender.itemindex])

    SubItems.Add(SetStuArg.edtAge.Text)

    SubItems.Add(SetStuArg.cbbGrade.Items.Strings[SetStuArg.cbbGrade.itemindex])

  end

  refresh//刷新

end

for i:= 0 to stringlist.count - 1 do

begin

  Listview.items.add.caption := stringlist[i]

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11734937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存