Registriert seit: 19. Aug 2011
Ort: Lübeck
68 Beiträge
Delphi 7 Professional
|
AW: StringGrid-Problem
6. Dez 2011, 08: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
|
|
Zitat
|