Telerik RadTree связан с источником данных XML - PullRequest
0 голосов
/ 02 апреля 2009

У меня есть Telerik RadTree, связанный с источником данных XMLData. Я хочу, чтобы текст узла состоял из 2 атрибутов (номер и имя).

См. <telerik:RadTreeNodeBinding>

Пример:

  • "1. Как ты?"
  • "2. Сколько тебе лет?"

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>

Ответы [ 2 ]

1 голос
/ 02 апреля 2009

Решено: я использую NodeTemplate, примененный ко всем узлам, чтобы добавить «число». если найдено в 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>
1 голос
/ 02 апреля 2009

Не проверял это, но попробуйте:

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