This is a migrated thread and some comments may be shown as answers.

RadTreelist -Iterate Item

3 Answers 128 Views
TreeList
This is a migrated thread and some comments may be shown as answers.
Sindu
Top achievements
Rank 1
Sindu asked on 03 Nov 2011, 05:26 AM

Hi,

My requirement is to dispaly a hyperlink for some words in RadTreelist.
ie is I have a Column 'Description' , this column contains words like 

" Telerik is a good tool ."  I need to display <good> in hyperlink.

How is it possible in RadTreeList after binding the data?
which event is used for that purpose?

Thanks,
Sindu.

3 Answers, 1 is accepted

Sort by
0
Jayesh Goyani
Top achievements
Rank 2
answered on 03 Nov 2011, 07:50 AM
Hello,

<telerik:RadTreeList runat="server" ID="RadTreeList1" AutoGenerateColumns="false"
           DataKeyNames="ID" ParentDataKeyNames="parentID">
           <Columns>
                 <telerik:TreeListBoundColumn DataField="ID" UniqueName="ID" HeaderText="ID" />
                 <telerik:TreeListBoundColumn DataField="parentID" UniqueName="parentID" HeaderText="parentID" />
                 <telerik:TreeListBoundColumn DataField="Description" UniqueName="Description" HeaderText="Description" />
                 <telerik:TreeListTemplateColumn UniqueName="DescriptionwithLink">
                   <ItemTemplate>
                       <asp:Literal ID="Literal1" runat="server"></asp:Literal>
                   </ItemTemplate>
                 </telerik:TreeListTemplateColumn>
           </Columns>
       </telerik:RadTreeList>
protected void Page_Load(object sender, EventArgs e)
    {
        RadTreeList1.NeedDataSource += new EventHandler<TreeListNeedDataSourceEventArgs>(RadTreeList1_NeedDataSource);
        RadTreeList1.ItemDataBound += new EventHandler<TreeListItemDataBoundEventArgs>(RadTreeList1_ItemDataBound);
    }
  
    void RadTreeList1_ItemDataBound(object sender, TreeListItemDataBoundEventArgs e)
    {
        if (e.Item is TreeListDataItem)
        {
            TreeListDataItem item = e.Item as TreeListDataItem;
            string strtxt = item["Description"].Text;
            Literal Literal1 = item.FindControl("Literal1") as Literal;
            strtxt = strtxt.Replace("good", "<a href='http://www.google.co.in/'> good <a>");
            Literal1.Text = strtxt;
        }
    }
  
    void RadTreeList1_NeedDataSource(object sender, TreeListNeedDataSourceEventArgs e)
    {
        dynamic data = new[] {
                new { ID = 1, parentID = 0, Description="Telerik is a good tool"},
                new { ID = 2, parentID = 1, Description="Telerik is a good tool"},
                new { ID = 3, parentID = 1, Description="Telerik is a good tool"}
                 
            };
        RadTreeList1.DataSource = data;
    }


Thanks,
Jayesh Goyani
0
Sindu
Top achievements
Rank 1
answered on 07 Nov 2011, 09:38 AM

Hi jayesh ,

I have iterate an item and set a hyperlink of particular text  using the code you were given  and also I used the TreeListBoundColumn and set link for the paricular tex. Hyperlink is coming for that paricular text ,but the text colour is not changed to blue.Usually when we set a hyperlink thye colur of that text will be changed to blue.How is it possible in treelist?

Thanks,
sindu.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 07 Nov 2011, 11:58 AM
Hello,

Method 1:
<telerik:TreeListTemplateColumn UniqueName="DescriptionwithLink">
                    <ItemTemplate>
                     <asp:Literal ID="Literal1" runat="server"></asp:Literal>
                    </ItemTemplate>
                </telerik:TreeListTemplateColumn>
...................
 if (e.Item is TreeListDataItem)
        {
            TreeListDataItem item = e.Item as TreeListDataItem;
            string strtxt = item["Description"].Text;

strtxt = strtxt.Replace("good", "<a  style=\"color:Blue;text-decoration:underlind;\" href='http://www.google.co.in/'> good <a>");


Method 2:

  <telerik:TreeListTemplateColumn UniqueName="DescriptionwithLink">
                    <ItemTemplate>
                     
                    </ItemTemplate>
                </telerik:TreeListTemplateColumn>
..............................
 if (e.Item is TreeListDataItem)
        {
            TreeListDataItem item = e.Item as TreeListDataItem;
            string strtxt = item["Description"].Text;
           LiteralControl lst1 = new LiteralControl();
            LiteralControl lst2 = new LiteralControl();
            HtmlAnchor a1 = new HtmlAnchor();

            lst1.Text = "Hi ";
            lst2.Text = " Goyani";
            a1.InnerText = "Jayesh";
            a1.HRef = "http://www.google.co.in/";
            a1.Style.Add("color", "Blue");

            item["DescriptionwithLink"].Controls.Add(lst1);
            item["DescriptionwithLink"].Controls.Add(a1);
            item["DescriptionwithLink"].Controls.Add(lst2);


Thanks,
Jayesh Goyani
Tags
TreeList
Asked by
Sindu
Top achievements
Rank 1
Answers by
Jayesh Goyani
Top achievements
Rank 2
Sindu
Top achievements
Rank 1
Share this question
or