Einzelnen Beitrag anzeigen

Impulz

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

Aktualisieren der ListView

  Alt 14. Dez 2011, 10:32
Delphi-Version: 5
Wie bereits schon in einigen Treads erwähnt habe ich eine IBE DB und eine Oberfläche + einige Units...


ich benötige dieses Mal Hilfe bei der LV Aktualisierung, irgendwie steh ich auf dem Schlauch.

Ich kann mit einem PopupMenu (PMHINZUFÜGEN) ein Stringgrid aufrufen wo ich neue Kunden für die DB eintrage.
Diese werden auf der Db abgespeichert. Jedoch sehe ich sie erst wenn ich nochmal auf imgAnzeigen klicke und nicht direkt nach dem Eintrag.

Hier einbisschen Code...


!!!!!!!!!!!!!KUNDE WIRD ANGELEGT!!!!!!!!!!!!!!!!!!
Delphi-Quellcode:
function TDataconnect.getKunden():TKundeList;
var
   Kunde : TKunde;
   KundeQuery : TIBOQuery;
   KundeTransa : TIBOTransaction;
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;
!!!!!!!!!!!!!!!!!!!!NEUEN KUNDEN HINZUFÜGEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Delphi-Quellcode:
procedure TStartseite.Hinzufgen1Click(Sender: TObject);
var
  Kunde: TKunde;
  Buch: TBuch;
  Sendung: TSendung;
  Autor: TAutor;

begin
  Dateneditieren.StrGrAuswahl.Cells[0,0]:='';
  Dateneditieren.StrGrAuswahl.Cells[1,0]:='';
  Dateneditieren.StrGrAuswahl.Cells[2,0]:='';
  if IsPositiveResult(Dateneditieren.ShowModal()) then
  begin
    Dateneditieren.ShowModal();
    case (rgAuswahl.ItemIndex) of
      0 : begin
            Kunde := TKunde.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
            connect.LegeKundeAn(Kunde);
            addKundetoLV(Kunde);
          end;
      1 : begin
            Sendung:= TSendung.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
            connect.LegeSendungAn(Sendung);
          end;
      2 : begin
            Autor:= TAutor.Create(-1,Dateneditieren.StrGrAuswahl.Cells[1,0],Dateneditieren.strgrauswahl.cells[2,0]);
            connect.LegeAutorAn(Autor);
          end;
      3 : begin
            Buch:= TBuch.Create(1,StrToInt(Dateneditieren.StrGrAuswahl.Cells[1,0]),Dateneditieren.StrGrAuswahl.Cells[2,0]);
            connect.LegeBuchAn(Buch);
          end;
    else
      begin
        ShowMessage('Ups, beim Anlegen des Kunden lief etwas schief');
      end;
    end;
  end;
end;
ich dachte mir vllt schreibe ich ne funktion dafür... desshalb : hier ist sie... ist aber irgendwie alles falsch:
Delphi-Quellcode:
function TStartseite.addKundetoLV(AKunde: TKunde): TKundeList;
var
  myItemAddKtoLV: TListItem;
  all: integer;
  kundelist: tkundelist;
begin
  connect.LegeKundeAn(Akunde);
  lvAuswahl.Column[0].NewInstance();
  lvAuswahl.UpdateItems(1,100);
end;

UPDATE,REFRESH,REPAINT.... alles versucht = geht nicht

vielen Dank im Vorraus!

grüße euer,
Danil

Geändert von mkinzler (14. Dez 2011 um 11:33 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat