这个是李维的解决办法。就是关于主明细更新的

来源:互联网 发布:学校自动播音软件 编辑:程序博客网 时间:2024/05/17 00:54

//保存按钮

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  aJoiner : Joiner;
  aSeminar : DevCoSeminar;
begin
  aJoiner := CreateJoiner(tbName.Text, tbEMail.Text);
  aSeminar := GetSeminarFromName(ddlSeminars.SelectedItem.Text);
  aJoiner.joins.Add(aSeminar);
  UpdateDatabase;
end;

//CreateJoiner 方法

function TWebForm1.CreateJoiner(const sName, sEMail: String): Joiner;
begin
  Result := Joiner.Create(EcoSpace);
  Result.Name := sName;
  Result.EMail := sEMail;
end;

//GetSeminarFromName 方法 他不是添加ID。而是用名称查找的办法

function TWebForm1.GetSeminarFromName(const sName: String): DevCoSeminar;
var
  anElement : IElement;
begin
  Result := nil;
  for anElement in ehSeminars.Element.GetAsCollection do
  begin
    Result := anElement.AsObject as DevCoSeminar;
    if (Result.Name = sName) then
      break;
  end;
end;