![]() |
Delphi-Version: 5
Aktualisieren der ListView
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:
!!!!!!!!!!!!!!!!!!!!NEUEN KUNDEN HINZUFÜGEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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;
Delphi-Quellcode:
ich dachte mir vllt schreibe ich ne funktion dafür... desshalb : hier ist sie... ist aber irgendwie alles falsch:
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;
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, |
AW: Aktualisieren der ListView
Zitat:
bedienst Du Deine Listview im VirtualMode (=OwnerData=true) oder normal? normal:
Delphi-Quellcode:
oder Virtuell (OwnerData=true):
function TStartseite.addKundetoLV(AKunde: TKunde): TKundeList;
var myItemAddKtoLV: TListItem; all: integer; kundelist: tkundelist; begin connect.LegeKundeAn(Akunde); myItemAddKtoLV:= lvAuswahl.Items.Add; myItemAddKtoLV.Caption:= Akunde.Name; myItemAddKtoLV.SubItems.Add(AKunde.Strasse); // etc; end;
Delphi-Quellcode:
wobei sowieso nicht klar ist, was die ganzen Variablen in dieser Funktion bedeuten, bzw. woher sie ihren Wert beziehen... aber das weisst Du sicherlich besser...:-D
function TStartseite.addKundetoLV(AKunde: TKunde): TKundeList;
var myItemAddKtoLV: TListItem; all: integer; kundelist: tkundelist; begin connect.LegeKundeAn(Akunde); lvAuswahl.Items.Count:= Kundelist.Count; lvAuswahl.Refresh; end; |
AW: Aktualisieren der ListView
also, ich habe OwnerData = False.
okay ich danke dir... ich probier mal direkt... |
AW: Aktualisieren der ListView
danke :=) !!!
TOP!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz