![]() |
Usereingaben im TListView
Moin,
ich wollte Userzugriffe auf ein ListView im Report-Style zulassen, so dass dort Daten eingegeben und geändert werden können. Geht aber nicht. Es gibt aber eine property ReadOnly und ein Hilfekapitel, was das Editieren beschreibt. Kann mal jemand das Brett vor meinem Kopf abschrauben bzw die Wand wegschieben? :wall: Grüße, Messie |
Re: Usereingaben im TListView
Hallo,
also bei mir eben zusammengeklickt und ist editierbar. Ist allerdings ein wenig tricky das Teil zu überreden, dass wir in den Editmodus wechseln wollen. Die Listview muß natürlich auch Items beinhalten, die man editieren kann. Ohne gehts imho nicht, die müsste man vorher mit lv.Items.Add hinzufügen. Mehrfacher Mausklick geht (RS2007) meist, F2-Taste bei mir gar nicht. Obwohl man das ja nachrüsten könnte und bei F2 das Teil in den Editmodus schaltet.
Delphi-Quellcode:
procedure TForm1.ListView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin if Key = VK_F2 then ListView1.Items[0].EditCaption; end; |
Re: Usereingaben im TListView
Explain it a bit more i also use listview and i might help..
|
Re: Usereingaben im TListView
Zitat:
Wenn ich im Ereignis OnEditing einen modalen Aufruf (ShowMessage'Tach!') einbaue, ist der Editiermodus anschließend aktiv. :wiejetzt: Ich kann es jetzt so lösen:
Delphi-Quellcode:
Ich würde gerne dasselbe auch für die SubItems machen. Gibt es da einen Ansatz?
procedure TForm1.ListView1Click(Sender: TObject);
begin if assigned(ListView1.Selected) then begin ListView1.Selected.EditCaption; end; end; @nanix: Problem was to activate the edit mode. This is fixed but I even would like to use the edit-mode for subitems, too Danke, Messie |
Re: Usereingaben im TListView
Ich glaube Subitems kann man nicht editieren. Wäre ein StringGrid keine Alternative? Dies ist dafür - unteranderem - gedacht.
|
Re: Usereingaben im TListView
:) Yes you cant edit subitems..
|
Re: Usereingaben im TListView
Zitat:
![]() Zitat:
Grüße, Messie |
Re: Usereingaben im TListView
Hallo,
dann nimm den Allestöter TVirtualStringTree. Heiko |
AW: Usereingaben im TListView
Ich weiss der Thread ist alt, aber vielleicht kommt jemand (zB über die Suchfunktion) hierher.
Ich möchte auch den Inhalt einer Listview editieren - und bin zu folgender (Not-)Lösung gekommen: Wenn die zu editierende Spalte fix ist, kann man zum Beispiel eine Inputbox verwenden und die Eingabe dann in's Listview zu schreiben.
Delphi-Quellcode:
procedure Change_Cell (AListView: TListView; const ARowIndex, AColIndex: Integer; const ANewContent: string);
// change content of a listview cell. colIndex 0 = leftmost column (caption) var vItem: TListItem; begin if aRowIndex < 0 then exit; if aRowIndex+1 > AListView.Items.Count then exit; // check ist wichtig. Denn bei ungültigem Index kommt sonst eine Zugriffsverletzung. vItem := AListView.Items[ARowIndex]; if (AColIndex < 0) or (AColIndex > vItem.SubItems.Count) then begin messageDlg('Column doesnt exist.' , mtError, [mbOK], 0); exit; end; // change content of the listview: // lets use 0,1,2,3,... and translate to: caption,0,1,2,... if AColIndex=0 then vItem.Caption := ANewContent else vItem.SubItems[AColIndex-1] := ANewContent; end; procedure TForm1.ListView1Click(Sender: TObject); var temp : string; i:integer; begin if assigned(ListView1.Selected) then begin temp := inputbox('Fenstertitel','Enter name:',''); i := listview1.Selected.Index; Change_Cell(ListView1, i, column, temp); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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