Einzelnen Beitrag anzeigen

Impulz

Registriert seit: 19. Aug 2011
Ort: Lübeck
68 Beiträge
 
Delphi 7 Professional
 
#3

AW: StringGrid-Problem

  Alt 6. Dez 2011, 07:51
so siehts im Bearbeiten klich aus:

Code:
rocedure TStartseite.Bea1click(Sender:TObject);
var
  Kunde :Tkunde;
  neuKunde:TKunde;
  neuItem: TListItem;
  Sendung :TSendung;
  neuSendung:TSendung;
  Autor :TAutor;
  neuAutor:TAutor;
  Buch :TBuch;
  neuBuch:TBuch;

begin
  if (rgAuswahl.ItemIndex = 0) then
  begin
    Kunde:= TKunde(lvAuswahl.ItemFocused.SubItems.Objects[1]);
    Dateneditieren.giveKundeDataToGrid(Kunde);
    if IsPositiveResult(Dateneditieren.ShowModal()) then
    begin
      Kunde:= TKunde (Dateneditieren.StrGrAuswahl.Objects[1,2]);
      neuKunde:=TKunde(lvAuswahl.ItemFocused.SubItems.Objects[0]);
      kunde:= neuKunde.Create(neuKunde.ID,neuKunde.Vorname,neuKunde.Nachname);
      lvAuswahl.ItemFocused.SubItems.Add(Dateneditieren.StrGrAuswahl.Cells[1,1]);
      lvAuswahl.ItemFocused.SubItems.Add(Dateneditieren.StrGrAuswahl.Cells[2,1]);
      neuKunde:=TKunde.Create(Kunde.ID,(Dateneditieren.StrGrAuswahl.Cells[1,1]),kunde.nachname);
      neuKunde:=Tkunde(Dateneditieren.StrGrAuswahl.Cells[2,1]);
      connect.KundeTransa.StartTransaction;
      connect.KundeTransa.Commit;
      connect.KundeQuery.CommitUpdates;
    end else
    begin
    IsNegativeResult(Dateneditieren.ShowModal())
    end;
  end else
  if (rgAuswahl.ItemIndex = 1) then
  begin
    sendung:= TSendung(lvAuswahl.ItemFocused.SubItems.Objects[0]);
    Dateneditieren.giveSendungDataToGrid(Sendung);
    if IsPositiveResult(Dateneditieren.ShowModal()) then
    begin
      Sendung:= TSendung (Dateneditieren.StrGrAuswahl.Objects[1,2]);
      neuSendung:=TSendung(lvAuswahl.ItemFocused.SubItems.Objects[0]);
      Sendung:= neuSendung.Create(neuSendung.ID,neuSendung.Status,neuSendung.Rechnung);
      lvAuswahl.ItemFocused.SubItems.Add(Dateneditieren.StrGrAuswahl.Cells[1,1]);
      lvAuswahl.ItemFocused.SubItems.Add(Dateneditieren.StrGrAuswahl.Cells[2,1]);
      neuSendung:=TSendung.Create(Sendung.ID,(Dateneditieren.StrGrAuswahl.Cells[1,1]),Sendung.Rechnung);
      neuSendung:=TSendung(Dateneditieren.StrGrAuswahl.Cells[2,1]);
    end else
    begin
    IsNegativeResult(Dateneditieren.ShowModal())
    end;
SO bei der Kundenerstellung:

Code:
function TDataconnect.getKunden():TKundeList;
begin
  Result:= TKundeList.create();
  KundeQuery:= TIBOQuery.Create(nil);
  KundeQuery.SQL.Text:= 'SELECT * FROM KUNDEN ';
  KundeQuery.IB_Connection:= FDataBase;
  KundeTransa:= TIBOTRansaction.Create(nil);
  KundeTransa.IB_Connection:= FDataBase;
  KundeQuery.IB_Transaction:= KundeTransa;
  KundeTransa.StartTransaction();
  try
    KundeQuery.Open();
    while not KundeQuery.Eof do
    begin
      kunde:= TKunde.Create(KundeQuery.Fieldbyname('Kunden_ID').asInteger,
                            KundeQuery.FieldbyName('Vorname').asString,
                            KundeQuery.FieldbyName('nachname').AsString);
      Result.addkunde(Kunde);
      KundeQuery.Next();
    end;
    KundeTransa.Commit();
  except
    on e:Exception do
    begin
      ShowMessage(e.Message);
      KundeTransa.Rollback();
    end;
  end;
end;
und so beim übergeben:

Code:
procedure TDatenEditieren.giveKundeDataToGrid(AKUnde:TKunde);
Begin
  StrGrAuswahl.Cells[0,1]:= IntToStr(Akunde.Id);
  StrGrAuswahl.Cells[1,1]:= AKUnde.Vorname;
  StrGrAuswahl.Cells[2,1]:=AKunde.Nachname;
end;



ich weüß nicht habe ich noch relevante stellen nicht aufgelistet? wenn ja füge ich welche hinzu
Danil
  Mit Zitat antworten Zitat