AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DataBindings an eine TextBox

Ein Thema von kiar · begonnen am 10. Okt 2005 · letzter Beitrag vom 12. Okt 2005
Antwort Antwort
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#1

DataBindings an eine TextBox

  Alt 10. Okt 2005, 12:37
hallo,

ich erzeuge eine Liste und binde die an eine ComboBox:
Delphi-Quellcode:

var
  AL: ArrayList
Begin
  AL:= ArrayList.Create;
  AL.Add(MyClass.Create(1,'Item1');
  AL.Add(MyClass.Create(2,'item2');
  AL.Add(MyClass.Create(3,'Item3');
  ComboBox1.DataSource:= AL;
  // soweit ist das klar und funktioniert
  // jetzt will ich den zweiten Property in einer TextBox editieren
  TextBox1.DataBindings.Add('Text', AL, 'Item');
end;
leider kommt immer die Fehlermeldung
Zitat:
an die Eigenschaft oder Spalte 'Item' für Datasource kann nicht gebunden werden.
worin liegt mein Fehler?
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: DataBindings an eine TextBox

  Alt 10. Okt 2005, 12:52
Zitat von kiar:
Delphi-Quellcode:
  ComboBox1.DataSource:= AL;
  // soweit ist das klar und funktioniert
  // jetzt will ich den zweiten Property in einer TextBox editieren
  TextBox1.DataBindings.Add('Text', AL, 'Item');
leider kommt immer die Fehlermeldung an die Eigenschaft oder Spalte 'Item' für Datasource kann nicht gebunden werden.

worin liegt mein Fehler?
AL.Item ist ein Indexer [meta]welchen man nie nich direkt anfassen sollte[/meta].
Den kannst du schlecht daran binden.
Ich halte es sowieso etwas ungeschickt Controls an Controls zu binden wenn du die Datenquelle selbst nehmen könntest.
Pseudo code:
Delphi-Quellcode:
type MyClass = public class
public
  property SomeProperty : string;
  constructor(someProperty : string);
end;
Delphi-Quellcode:
comboBox.DataSource := list;
textBox.DataBindings.Add('Text', list, 'SomeProperty');
// ab IEnumerable, kannst du direkt gegen Properties
// des Ergebnisses von Enumerator.Current binden
Möglich, aber unflexibel und hässlich, wäre auch:
textBox.DataBindings.Add('Text', comboBox, 'SelectedItem');
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#3

Re: DataBindings an eine TextBox

  Alt 10. Okt 2005, 13:04
aha,

da haben wir doch den richtigen erwischt

ich habe hier deine Ergüsse zur Vorlage genommen.

also ich greife schon über den Property der Klasse darauf zu. wollte hier bloss nicht meine Fantasienamen veröffentlichen

raik

wobei die hässliche und unflexible Variante klappt
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: DataBindings an eine TextBox

  Alt 12. Okt 2005, 07:58
So,

ich bin noch nicht wirklich weiter

wenn ich eine Liste nach folgendem Schema realisiere
Delphi-Quellcode:

List.Add(TextBox2);
List.Add(TextBox3);
List.Add(TextBox4);
List.Add(TextBox5);
TextBox1.DataBindings.Add('Text', List, 'Text');
kann ich mit TextBox1.BindingsContext[List].Position; durch die Liste navigieren und ich sehe jeweils den Text in der TextBox 1.

wenn ich aber eine neue Klasse mache:
Delphi-Quellcode:
unit Class1;

interface

type
  TMyClass = class
  private
    { Private-Deklarationen ;}
    fText: String;
  public
    constructor Create(Text:String);
    property Text: String read fText write fText;

    
  end;

implementation

constructor TMyClass.Create(text: String);
begin
  inherited Create;
  ftext := Text;
  // TODO: Hier die Konstruktorlogik einfügen
end;

end.
und diese dann in die Liste einfüge nach folgendem Muster
Delphi-Quellcode:

list.Add(TMyClass.Create('eins');
//...usw.
kommt immer noch die Fehlermeldung von oben.

wo liegt denn mein Fehler?

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: DataBindings an eine TextBox

  Alt 12. Okt 2005, 08:56
Kleiner Tip: Wechsel die Sprache solange es noch geht und schaue mal im C#-forum vorbei.
Könnte dir mehr Antworten geben. Ich hatte dir hier eher "aus Versehen" geantwortet.
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: DataBindings an eine TextBox

  Alt 12. Okt 2005, 09:02
hallo Robert,

heisst das, es geht in Delphi.net so nicht, oder? denn nach der gleichen Methode habe ich es ja mit C# hingekriegt.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: DataBindings an eine TextBox

  Alt 12. Okt 2005, 09:04
Das geht schon, aber hätte ich dir nicht aus Versehen (eher aus altem Reflex) geantwortet hättest du hier noch keine Antwort bekommen.
Weitere kommen von mir hier nicht mehr...
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#8

Re: DataBindings an eine TextBox

  Alt 12. Okt 2005, 09:10
Zitat von Robert_G:
aber hätte ich dir nicht aus Versehen (eher aus altem Reflex) geantwortet hättest du hier noch keine Antwort bekommen.
da ist wohl was wahres dran.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz