I´ve got a treelist and added a template column as below
<telerik:TreeListTemplateColumn HeaderStyle-Width="70px"
HeaderText="Usuer" ItemStyle-HorizontalAlign="Center" ReadOnly="True"
SortExpression="User" UniqueName="User">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
CommandArgument='<%# Eval("IdUser") %>' Height="20"
ImageUrl="~/Styles/images/user.png"
OnClick="ImageButton1_Click" Width="20" />
</ItemTemplate>
<HeaderStyle Width="70px" />
<ItemStyle HorizontalAlign="Center" />
</telerik:TreeListTemplateColumn>
In the ItemDataBound event (treelist) I add the item to RadToolTipManager
ImageButton item = (ImageButton)((Telerik.Web.UI.TreeListDataItem)e.Item).FindControl("ImageButton1");
//Add the button (target) id to the tooltip manager
this.RadToolTipManager1.TargetControls.Add(item.ClientID, item.CommandArgument.ToString(), true);
MY PROBLEM IS WHEN I EXPAND A ROW TO SHOW THE CHILD ITEMS, THE TOOLTIPS DO NOT UPDATE, AND SHOWS THE INFORMATION OF THE LAST ITEM WHICH WAS IN THAT ROW.
Thanks!.
<telerik:TreeListTemplateColumn HeaderStyle-Width="70px"
HeaderText="Usuer" ItemStyle-HorizontalAlign="Center" ReadOnly="True"
SortExpression="User" UniqueName="User">
<ItemTemplate>
<asp:ImageButton ID="ImageButton1" runat="server"
CommandArgument='<%# Eval("IdUser") %>' Height="20"
ImageUrl="~/Styles/images/user.png"
OnClick="ImageButton1_Click" Width="20" />
</ItemTemplate>
<HeaderStyle Width="70px" />
<ItemStyle HorizontalAlign="Center" />
</telerik:TreeListTemplateColumn>
In the ItemDataBound event (treelist) I add the item to RadToolTipManager
ImageButton item = (ImageButton)((Telerik.Web.UI.TreeListDataItem)e.Item).FindControl("ImageButton1");
//Add the button (target) id to the tooltip manager
this.RadToolTipManager1.TargetControls.Add(item.ClientID, item.CommandArgument.ToString(), true);
MY PROBLEM IS WHEN I EXPAND A ROW TO SHOW THE CHILD ITEMS, THE TOOLTIPS DO NOT UPDATE, AND SHOWS THE INFORMATION OF THE LAST ITEM WHICH WAS IN THAT ROW.
Thanks!.
3 Answers, 1 is accepted
0
Hello,
Could you post your complete page source along with the code-behind file content? Thus all who want to help you will have a chance to examine your code and give you more detailed solutions.
All the best,
Andrey
the Telerik team
Could you post your complete page source along with the code-behind file content? Thus all who want to help you will have a chance to examine your code and give you more detailed solutions.
All the best,
Andrey
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0

Franklin
Top achievements
Rank 1
answered on 16 Jul 2012, 08:09 PM
Hello Andrey,
Here is my code.
I would appreciate any help.
Thanks.
File .ASPX:
File .CS:
Here is my code.
I would appreciate any help.
Thanks.
File .ASPX:
<
table
width
=
"100%"
><
br
> <
tr
><
br
> <
td
><
br
> <
telerik:RadToolTipManager
runat
=
"server"
AnimationDuration
=
"300"
ShowDelay
=
"200"
<br> HideDelay="1" ID="RadToolTipManager1" Width="250px"<
br
> RelativeTo="Element" Animation="Slide" Position="BottomCenter" OnAjaxUpdate="OnAjaxUpdate"<
br
> RenderInPageRoot="True" /><
br
><
br
><
br
> <
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
><
br
><
br
><
br
> <
telerik:RadTreeList
ID
=
"tasksListRadTreeList"
runat
=
"server"
Width
=
"100%"
<br> DataKeyNames="IdTask" <
br
> ParentDataKeyNames="IdFather" AutoGenerateColumns="False" <
br
> EditMode="InPlace" <
br
> NoRecordsText="No se han agregado tareas hasta el momento." <
br
> onneeddatasource="tasksListRadTreeList_NeedDataSource" AllowSorting="True" <
br
> AllowStableSort="True" ClientDataKeyNames="IdTask" <
br
> oninsertcommand="tasksListRadTreeList_InsertCommand" <
br
> onitemdatabound="tasksListRadTreeList_ItemDataBound" <
br
> onitemcreated="tasksListRadTreeList_ItemCreated" <
br
> onupdatecommand="tasksListRadTreeList_UpdateCommand" <
br
> ondeletecommand="tasksListRadTreeList_DeleteCommand"><
br
> <
Columns
><
br
> <
telerik:TreeListSelectColumn
HeaderStyle-Width
=
"38px"
><
br
> <
HeaderStyle
Width
=
"38px"
/><
br
> </
telerik:TreeListSelectColumn
><
br
><
br
><
br
> <
telerik:TreeListTemplateColumn
DataField
=
"NameTask"
HeaderStyle-Width
=
"30%"
<br> HeaderText="Título" SortExpression="NameTask" UniqueName="NameTask"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"nameTasklabel"
runat
=
"server"
Text='<%# Eval("NameTask") %>' <
br
> ToolTip='<%# Eval("NameTask") %>'></
asp:Label
><
br
> </
ItemTemplate
><
br
> <
EditItemTemplate
><
br
> <
telerik:RadTextBox
ID
=
"nameTaskRadTextBox"
runat
=
"server"
Width
=
"98%"
Text='<%# Eval("NameTask") %>'><
br
> </
telerik:RadTextBox
><
br
> </
EditItemTemplate
><
br
> <
HeaderStyle
Width
=
"80px"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
><
br
><
br
> <
telerik:TreeListTemplateColumn
DataField
=
"StartDate"
HeaderStyle-Width
=
"80px"
<br> HeaderText="Fecha Inicio" SortExpression="StartDate" UniqueName="StartDate"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"startDatelabel"
runat
=
"server"
Text='<%# Eval("StartDate") %>' <
br
> ToolTip='<%# Eval("EndDate") %>'></
asp:Label
><
br
> </
ItemTemplate
><
br
> <
EditItemTemplate
><
br
> <
telerik:RadDatePicker
ID
=
"startDateRadDatePicker"
Runat
=
"server"
<br> Calendar-CultureInfo="es-CO" Calendar-DateRangeSeparator=" /" <
br
> SelectedDate="01/01/2012" Width="80"><
br
> </
telerik:RadDatePicker
><
br
> </
EditItemTemplate
><
br
> <
HeaderStyle
Width
=
"80px"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
> <
telerik:TreeListTemplateColumn
DataField
=
"EndDate"
HeaderStyle-Width
=
"80px"
<br> HeaderText="Fecha Fin" SortExpression="EndDate" UniqueName="EndDate"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"endDatelabel"
runat
=
"server"
Text='<%# Eval("EndDate") %>' <
br
> ToolTip='<%# Eval("EndDate") %>'></
asp:Label
><
br
> </
ItemTemplate
><
br
> <
EditItemTemplate
><
br
> <
telerik:RadDatePicker
ID
=
"endDateRadDatePicker"
Runat
=
"server"
<br> SelectedDate="01/01/2012" Width="80"><
br
> </
telerik:RadDatePicker
><
br
> </
EditItemTemplate
><
br
> <
HeaderStyle
Width
=
"80px"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
> <
telerik:TreeListTemplateColumn
DataField
=
"Percentage"
HeaderStyle-Width
=
"50px"
<br> HeaderText="% " SortExpression="Percentage" UniqueName="Percentage"><
br
> <
ItemTemplate
><
br
> <
asp:Label
ID
=
"percentagelabel"
runat
=
"server"
Text='<%# Eval("Percentage") %>' <
br
> ToolTip='<%# Eval("Percentage") %>'></
asp:Label
><
br
> </
ItemTemplate
><
br
> <
EditItemTemplate
><
br
> <
telerik:RadNumericTextBox
ID
=
"percentRadNumericTextBox"
runat
=
"server"
<br> MaxLength="3" MaxValue="100" MinValue="0" ShowButton="False" <
br
> ShowSpinButtons="True" Text='<%# Eval("Percentage") %>' Width="50"><
br
> </
telerik:RadNumericTextBox
><
br
> </
EditItemTemplate
><
br
> <
HeaderStyle
Width
=
"50px"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
> <
telerik:TreeListTemplateColumn
HeaderStyle-Width
=
"70px"
<br> HeaderText="Responsables" ItemStyle-HorizontalAlign="Center" ReadOnly="True" <
br
> SortExpression="Responsibles" UniqueName="Responsibles"><
br
> <
ItemTemplate
><
br
> <
asp:ImageButton
ID
=
"responsiblesImageButton"
runat
=
"server"
<br> CommandArgument='<%# Eval("IdTask") %>' Height="20" <
br
> ImageUrl="~/Styles/images/user-blue-add.png" <
br
> OnClick="responsiblesImageButton_Click" Width="20" /><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
Width
=
"70px"
/><
br
> <
ItemStyle
HorizontalAlign
=
"Center"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
> <
telerik:TreeListTemplateColumn
HeaderStyle-Width
=
"50px"
HeaderText
=
"Notas"
<br> ReadOnly="True" SortExpression="Notes" UniqueName="Notes"><
br
> <
ItemTemplate
><
br
> <
asp:ImageButton
ID
=
"notesImageButton"
runat
=
"server"
<br> CommandArgument='<%# Eval("IdTask") %>' CommandName='<%# Eval("NameTask") %>' Height="20" <
br
> ImageUrl="~/Styles/images/sticky-notes.png" OnClick="notesImageButton_Click" <
br
> ToolTip="Agregar Nota a Tarea" Width="20" /><
br
> </
ItemTemplate
><
br
> <
HeaderStyle
Width
=
"50px"
/><
br
> </
telerik:TreeListTemplateColumn
><
br
> <
br
> <
telerik:TreeListEditCommandColumn
AddRecordText
=
"Agregar Subtarea"
<br> ButtonType="ImageButton" CancelText="Cancelar" EditText="Editar Tarea" <
br
> HeaderStyle-Width="70px" ShowAddButton="True" UniqueName="EditCommandColumn" InsertText="Agregar una Tarea" UpdateText="Actualizar"><
br
> <
HeaderStyle
Width
=
"70px"
/><
br
> <
ItemStyle
CssClass
=
"MyImageButton"
/><
br
> </
telerik:TreeListEditCommandColumn
><
br
> </
Columns
><
br
> </
telerik:RadTreeList
><
br
> <
br
> </
telerik:RadAjaxPanel
><
br
> </
td
><
br
> </
tr
><
br
></
table
>
File .CS:
public
partial
class
TasksList : System.Web.UI.UserControl<br> {<br>
protected
void
Page_Load(
object
sender, EventArgs e)<br> {<br> <br> }<br><br>
protected
void
responsiblesImageButton_Click(
object
sender, ImageClickEventArgs e)<br> {<br><span
class
=
"Apple-tab-span"
style=
"white-space:pre"
> </span>
//Do something<br> }<br><br> protected void notesImageButton_Click(object sender, ImageClickEventArgs e)<br> { <br><span class="Apple-tab-span" style="white-space:pre"> </span>//Do something<br> }<br><br> protected void OnAjaxUpdate(object sender, Telerik.Web.UI.ToolTipUpdateEventArgs args)<br> {<br> this.UpdateToolTip(args.Value, args.UpdatePanel);<br> }<br><br> private void UpdateToolTip(string elementID, UpdatePanel panel)<br> {<br> Control ctrl = Page.LoadControl("Detail.ascx"); //user control with a gridview<br><br> panel.ContentTemplateContainer.Controls.Add(ctrl);<br> HumanResourcesByTask detail = (HumanResourcesByTask)ctrl;<br> detail.DataSource = Presenter.ProdLinHumanResourcesByTask(Int32.Parse(elementID));<br> }<br><br> protected void tasksListRadTreeList_NeedDataSource(object sender, Telerik.Web.UI.TreeListNeedDataSourceEventArgs e)<br> {<br> tasksListRadTreeList.DataSource = //set datasource;<br> RadToolTipManager1.DataBind();<br> }<br><br> protected void tasksListRadTreeList_InsertCommand(object sender, Telerik.Web.UI.TreeListCommandEventArgs e)<br> {<br> //Do something<br> }<br><br> protected void tasksListRadTreeList_ItemDataBound(object sender, Telerik.Web.UI.TreeListItemDataBoundEventArgs e)<br> {<br> if (e.Item.ItemType == Telerik.Web.UI.TreeListItemType.Item || e.Item.ItemType == Telerik.Web.UI.TreeListItemType.AlternatingItem)<br> {<br> ImageButton item = (ImageButton)((Telerik.Web.UI.TreeListDataItem)e.Item).FindControl("responsiblesImageButton");<br><br><br> if (!Object.Equals(item, null))<br> {<br> //Add the button (target) id to the tooltip manager<br> this.RadToolTipManager1.TargetControls.Add(item.ClientID, item.CommandArgument.ToString(), true);<br><br><br> }<br> }<br> }<br><br><br> protected void tasksListRadTreeList_ItemCreated(object sender, Telerik.Web.UI.TreeListItemCreatedEventArgs e)<br> {<br> <br> }<br> <br> protected void tasksListRadTreeList_UpdateCommand(object sender, Telerik.Web.UI.TreeListCommandEventArgs e)<br> {<br> //Do something<br> }<br><br> protected void tasksListRadTreeList_DeleteCommand(object sender, Telerik.Web.UI.TreeListCommandEventArgs e)<br> {<br> //Do something<br> }<br> <br> #endregion<br><br> #endregion<br> }<br>
0
Hello,
I reviewed your code and noticed that you are calling DataBind method of RadToolTipManager in the NeedDataSource, try to remove the call to the DataBind method in the NeedDataSource and check whether you are experiencing the same issue.
Additionally, in the UpdateToolTIp method you are assigning datasource to the "detail" control. Are you sure that the user controls exposes this method and could you share what controls are contained in this control.
Regards,
Andrey
the Telerik team
I reviewed your code and noticed that you are calling DataBind method of RadToolTipManager in the NeedDataSource, try to remove the call to the DataBind method in the NeedDataSource and check whether you are experiencing the same issue.
Additionally, in the UpdateToolTIp method you are assigning datasource to the "detail" control. Are you sure that the user controls exposes this method and could you share what controls are contained in this control.
Regards,
Andrey
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.