Repeater mit Control welches kein DataBinding unterstützt

27/09/2008 - 11:03 von Carsten | Report spam
Ist es möglich ein Control welches keine Unterstützung für
DataBindExpressions hat an einen Repeater zu binden? Ich habe mir folgendes
WebChart Control besorgt:
http://www.carlosag.net/Tools/WebCh...fault.aspx

Da es keine DataBindExpressions unterstützt, habe ich versucht das Control
Template zu programmieren:
http://msdn.microsoft.com/en-us/library/aa289501(vs.71).aspx

Allerdings wird in den Beispielen ein Literal verwendet, welches ein
DataBinding Event besitzt, was das WebChart nicht hat. Gibt es einen anderen
Weg ans Ziel zu kommen?

Gruß

Carsten Karpowitz
 

Lesen sie die antworten

#1 Gerold Mittelstädt
27/09/2008 - 18:20 | Warnen spam
Hallo Carsten,

Carsten schrieb:
Ist es möglich ein Control welches keine Unterstützung für
DataBindExpressions hat an einen Repeater zu binden?



Wie "bindest" Du denn Controls an einen Repeater?

Ich habe mir folgendes
WebChart Control besorgt:
http://www.carlosag.net/Tools/WebCh...fault.aspx

Da es keine DataBindExpressions unterstützt, habe ich versucht das Control
Template zu programmieren:
http://msdn.microsoft.com/en-us/library/aa289501(vs.71).aspx

Allerdings wird in den Beispielen ein Literal verwendet, welches ein
DataBinding Event besitzt, was das WebChart nicht hat. Gibt es einen anderen
Weg ans Ziel zu kommen?



Ohne mir die die Komponente jetzt genauer angeschaut zu haben:

<asp:Repeater id="rptIrgendwas" runat="server">
<ItemTemplate>
<cc:WebChartControl ruant="server" Daten1='<%# Eval("Daten1") %>'
Daten2=... />
</ItemTemplate>
</asp:Repeater>

funktioniert doch unabhàngig davon, was da jetzt alles ItemTemplate drin
steht oder wo sich die Datenbindung (<%# Eval(..) %>) letztlich befindet?

Und wenn Du was gegen inline-Datenbindung hast, oder die Komponente noch
zusàtzliche Einstellugnen benötigt, die so nicht einstellbar sind, gibt
es auch noch das Ereignis Repeater_ItemDataBound, das aufgerufen wird,
sobald an ein Item die Daten gebunden werden, über die Du dann im
CodeBeside über e.Item.DataItem, bzw. auf die Steuerelemente über
e.Item.FindControl(id) zugreifen kannst.


Viele Grüße!

Ähnliche fragen