Konrad
Konrad

Reputation: 716

Telerik RadTree bound to XML DataSource

I have a Telerik RadTree bound to an XMLDataSource. I want to set a node's text to consist of 2 attributes (number and name).

See <telerik:RadTreeNodeBinding>

Example:

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>

Upvotes: 0

Views: 2133

Answers (2)

Konrad
Konrad

Reputation: 716

Solved: I use the NodeTemplate applied to all nodes to prepend "number." if found in xpath...

<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>

Upvotes: 1

Sani Huttunen
Sani Huttunen

Reputation: 24395

Havn't tested this but give it a go:

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(Container.DataItem, "number")%>].[<%# DataBinder.Eval(Container.DataItem, "name")%>]' ImageUrlField="imageurl" FormatString="{0}" Expanded="false" />
       </DataBindings>
    </telerik:RadTreeView>

Upvotes: 1

Related Questions