Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Data binding? (https://www.delphipraxis.net/129204-data-binding.html)

napsterxx 14. Feb 2009 13:17


Data binding?
 
Also vielleicht programmiert der ein oder andere Flex, oder kennt es aus anderen Sprachen.
Data binding ist vom prinzip nichts anderes als einer Variable den Wert X zugeben. Wenn man nun diese Variable via Data binding einem Label zuweist hat dieses stehts den Wert von der Variablen auch wenn ich diesen verändere.

Zu Delphi:
Ich habe eine Listview mit 2 Spalten nud 3 Zeilen. Zudem habe ich eine Klasse und darvon 3 Objekte, jede Zeile zeigt zwei Variablen des Objektes an.
So schreibe ich die Daten in die ListView:
Delphi-Quellcode:
procedure AddToLV( Spieler: TSpieler );
var
  LI: TListItem;
begin
  LI := ListView1.Items.Insert(ListView1.Items.Count);
  LI.Caption := Spieler.sName;
  LI.Subitems.Add( Spieler.iPlayerID );
end;
Das blöde ist nun, wenn ich Spieler.iPlayerID ändere wird in der Listview in z.B. der ersten Zeile nicht gleich auch der Wert geändert. Ich müsste also stendig durchgehen und schaun ob sich ein Wert verändert hat. Gibt es da nicht eine einfachere Möglichkeit?

mkinzler 14. Feb 2009 13:20

Re: Data binding?
 
In Delphi gibt es auch datensensitive Komponenten, was prinzipiell dem Prinzip der Datenbindung entspricht.

napsterxx 14. Feb 2009 13:25

Re: Data binding?
 
D.h. Ich müsste eine solche Listview haben?

mkinzler 14. Feb 2009 13:28

Re: Data binding?
 
Du machst es richtig. Nur keine Zeit mit Grundlagen oder mal Nachschauen verschwenden. Das sollen ruhig andere machen. :gruebel:

napsterxx 14. Feb 2009 13:41

Re: Data binding?
 
Du hast Recht, ich habe keine Zeit, bin sehr viel beschäftigt, und wenn DataBinding Grundlagen sind - Prost.

mkinzler 14. Feb 2009 13:48

Re: Data binding?
 
Ohen grundlagen geht es aber nicht. Wenn du diese einmal beherrscht, geht es später schneller. Du würdest dich ja auch nicht ans Steuer eines Formel1-Wagens oder Düsenjets setzen ohen das vorher gelernt/geübt zu haben.

http://www.delphi-treff.de/tutorials/datenbanken/

stoxx 14. Feb 2009 13:57

Re: Data binding?
 
ich glaub er meint das Databinding von puren Variablen, und das geht in Delphi nicht.

Bzw. wäre das auch mir neu :-D

mkinzler 14. Feb 2009 13:59

Re: Data binding?
 
Nein von normalen Variablen nicht. hatte ich aber auch nicht behauptet

Meflin 14. Feb 2009 14:04

Re: Data binding?
 
Zitat:

Zitat von mkinzler
Nein von normalen Variablen nicht. hatte ich aber auch nicht behauptet

Das war aber seine Frage :zwinker:

stoxx 14. Feb 2009 14:09

Re: Data binding?
 
aber um mal seine Frage zu beantworten, ständig durchgehen musst Du nicht.
Du müsstest halt, wenn irgendjemand was ändert, ein OnChange Event einbauen und dann auslösen.
Damit weißt Du, wenn sich was geändert hat ..

mkinzler 14. Feb 2009 14:09

Re: Data binding?
 
Ich hatte ihm eine Alternative genannt. Aber scheinbar ist sowas neuerdings hier im Forum nicht mehr erwünscht :oops:

stoxx 14. Feb 2009 14:12

Re: Data binding?
 
die Alternative ist bestimmt gut, aber dann brauchen Du doch Datenbank :-) .. hat er ja vielleicht gar nicht.

mkinzler 14. Feb 2009 14:20

Re: Data binding?
 
Hiermit entschuldige ich mich erfürchtigst bei allen, denen ich seit ich hier Mitglied bin durch falsch verstandene Hilfeleistungen auf den Nerv gegangen bin. Hab es nun verstanden, dass dies nicht gewünscht ist und werde mich nun zurücknehmen.
Ich habe nun auch verstanden, dass mein veraltete Weltsicht schliessen lässt und ein moderner Mensch besser auf Grundlagen verzichten kann, da es klüger ist sich alles auf dem Silbertablett mit Sahnehäubchen liefern zu lassen!

stoxx 14. Feb 2009 14:26

Re: Data binding?
 
Hey Du,

wenn ich mich falsch transportiert haben sollte, dann sorry, aber was genau stört Dich jetzt, wenn ich mal neugierig fragen darf?
Wolltest Du damit sagen, dass solche Fragen vom Fragesteller nicht gestellt werden sollten?

Bedenke bitte auch, dass es leider nicht allzuviele neue Bücher von Delphi gibt.
Versteh Dich gerade nicht ...

mjustin 14. Feb 2009 15:02

Re: Data binding?
 
Zitat:

Zitat von napsterxx
Also vielleicht programmiert der ein oder andere Flex, oder kennt es aus anderen Sprachen.
Data binding ist vom prinzip nichts anderes als einer Variable den Wert X zugeben. Wenn man nun diese Variable via Data binding einem Label zuweist hat dieses stehts den Wert von der Variablen auch wenn ich diesen verändere.

Klein und praktisch: TSnapObjectDataset, hiermit kann man die published-Properties eines Objekts (oder einer Objektliste) wie Datensätze mit DBEdit & Co. bearbeiten:

http://digilander.libero.it/snapobject/
http://www.torry.net/pages.php?s=124

leider nur für Delphi bis 2007, aber mit Sourcode ;)

thkerkmann 14. Feb 2009 15:10

Re: Data binding?
 
Hi,

Bei dieser kleinen Menge an Daten ist der Datenbankansatz sicher überdimensioniert.
Man könnte auch die Listview "ownerdraw" machen, ein entsprechendes Event zum Zeichnen der Einträge erstellen, und wenn sich was an den Daten geändert hat einfach Listview.Invalidate aufrufen.

Gruss

stoxx 14. Feb 2009 15:12

Re: Data binding?
 
Zitat:

Man könnte auch die Listview "ownerdraw" machen
ja das ist das beste, obwohl es auf dem ersten Blick kompliziert aussieht, wenn man selber TextOut schreiben muss.
Wenn man es aber einmal hat, ist es aber nur noch Copy und Paste.
Zweizeilige gezielte Ausgaben sind möglich, wir machen es nur noch so.
Was anderes macht bei riesigen Datenmengen (Listen) sowieso keinen Sinn ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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