IBindingList-Problem

03/06/2009 - 01:30 von Christian Wied | Report spam
Hallo,

ich habe eine IBindingList implementiert. Das Ziel dieser Liste besteht
darin, Werte aus einer Hardware zu ermitteln und diese zum Binden an,
z.b.Textboxen, zur Verfügung zu stellen.
Die ganzen Werte werden quasi als Zeile geliefert - jeder Wert ist eine
Spalte und es existiert (bisher) nur eine Zeile mit allen Werten.

Das können aber sehr viele Werte werden z.b. 500.

Wenn nun das OnListChanged-Event ausgelöst wird, wird jeder der 500 Werte in
der Textbox ge-updated, auch wenn sich nur einer geàndert hat.

Gibt es eine Möglichkeit diese ganzen Werte in Zeilen zurückzugeben und dann
eine Zeile an das Textbox zu binden?

Wie würde das funktionieren, falls es überhaupt möglich wàre? Vermutlich
müsste die TextBox erweitert werden
 

Lesen sie die antworten

#1 Frank Dzaebel
03/06/2009 - 08:24 | Warnen spam
Hallo Christian,

[...] Wenn nun das OnListChanged-Event ausgelöst wird, wird jeder der 500
Werte in der Textbox ge-
updated, auch wenn sich nur einer geàndert hat.



Das muss nicht so sein, das kommt auf den
ListChangedType in den ListChangedEventArgs an.

[ListChangedType-Enumeration (System.ComponentModel)]
http://msdn.microsoft.com/de-de/lib...dtype.aspx



Gibt es eine Möglichkeit diese ganzen Werte in Zeilen zurückzugeben und
dann eine Zeile an das Textbox zu binden?



[Binding-Klasse (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...nding.aspx

Mit der Binding-Klasse kannst Du auch Werte zur Anzeige
über das Format-Ereignis formatieren:

[Binding.Format-Ereignis (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...ormat.aspx

Hier könntest Du z.B. über "b.BindingManagerBase.Current"
die Werte anderer Spalten des aktuellen Datensatzes
über "e.Value = [...];" setzen.

ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen