2009-04-02 8 views
0

Ich habe einen Telerik RadTree an eine XMLDataSource gebunden. Ich möchte festlegen, dass der Text eines Knotens aus zwei Attributen besteht (Nummer und Name).Telerik RadTree an XML gebunden DataSource

Siehe <telerik:RadTreeNodeBinding>

Beispiel:

  • "? 1. Wie geht es Ihnen"
  • "2. Wie alt bist du?"

XML:

<questions> 
    <question name="How are you?" number="1" imageurl=""> 
    </question> 
    <question name="How old are you?" number="2" imageurl=""> 
    </question> 
</questions> 

ASPX:

<telerik:RadTreeView ID="RadTreeView1" runat="server">    
    <DataBindings> 
    <telerik:RadTreeNodeBinding DataMember="questions" Text="Questions" 
     ImageUrl="/questions.png" Expanded="false" /> 
    <telerik:RadTreeNodeBinding DataMember="question" 
     Text='[<%# DataBinder.Eval("number")%>].[<%# DataBinder.Eval("name")%>]' 
     ImageUrlField="imageurl" FormatString="{0}" Expanded="false" /> 
    </DataBindings> 
</telerik:RadTreeView> 

Antwort

1

Gelöst: Ich verwende die NodeTemplate, die auf alle Knoten angewendet wird, um "number" voranzukommen. wenn in XPath gefunden ...

<telerik:RadTreeView ID="RadTreeView1" runat="server"> 
    <NodeTemplate> 
      <%# XPath("@number", "{0}.") %> 
      <%# DataBinder.Eval(Container, "Text") %> 
    </NodeTemplate>    
    <DataBindings> 
     <telerik:RadTreeNodeBinding DataMember="questions" Text="Questions" ImageUrl="/questions.png" Expanded="false" /> 
     <telerik:RadTreeNodeBinding DataMember="question" TextField="name" ImageUrlField="kpiimageurl" FormatString="{0}" Expanded="false" /> 
    </DataBindings> 
</telerik:RadTreeView> 
1

Vollständige Version anzeigen getestet dies aber probieren Sie es aus:

XML:

<questions> 
    <question name="How are you?" number="1" imageurl=""></question> 
    <question name="How old are you?" number="2" imageurl=""></question> 
</questions> 

ASPX:

+0

Dank CKret, scheint es in der Nähe, aber ... Es gibt keine DataItem Eigenschaft auf Container. Ich denke, wenn ich vielleicht etwas wie angeben kann: DataBinder.Eval (Container.Attribute, "Name") – Konrad

+0

vielleicht DataBinder.Eval (Container, "DataItem.name") –

Verwandte Themen