Hi all
I have a problem with a paging RadListView with ToolTips on every Item, embedded in a UserControl.
On the first page, everything look well and works like expected (mouse over a thumbnail picture opens a tooltip with a bigger image).
On all other pages, the tooltip does not appear.
i compared the html source code of both pages and both pages are identical.
i tried to do it like in the online example: what's wrong?
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="RadListViewTissue"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadListViewTissue" LoadingPanelID="RadAjaxLoadingPanel1" /> |
<telerik:AjaxUpdatedControl ControlID="RadToolTipManager1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" > |
</telerik:RadAjaxLoadingPanel> |
<telerik:RadToolTipManager ID="RadToolTipManager1" OffsetY="0" HideEvent="LeaveToolTip" |
Width="400px" Height="170px" runat="server" |
OnAjaxUpdate="OnAjaxUpdate" RelativeTo="Element" ShowDelay="500" |
Animation="Fade" Sticky="True"> |
</telerik:RadToolTipManager> |
<telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" /> |
<telerik:RadListView ID="RadListViewTissue" runat="server" |
onitemdatabound="RadListViewTissue_ItemDataBound" DataKeyNames="contentID" |
ItemPlaceholderID="TissueItemContainer" |
onselectedindexchanged="RadListViewTissue_SelectedIndexChanged" |
AllowPaging="true" onneeddatasource="RadListViewTissue_NeedDataSource" |
onpageindexchanged="RadListViewTissue_PageIndexChanged" > |
protected void Page_Load(object sender, EventArgs e) |
{ |
if (!Page.IsPostBack) |
{ |
RadListViewTissue.DataSource = getTissueList(); |
RadListViewTissue.DataBind(); |
} |
} |
protected DataTable getTissueList() |
{ |
// .. |
DataTable dtTissue = (DataTable)Session[bufferedTissueList]; |
// .. |
return dtTissue; |
} |
protected void RadListViewTissue_PageIndexChanged(object sender, RadListViewPageChangedEventArgs e) |
{ |
if (e.CommandName == "Sort" || e.CommandName == "Page") |
{ |
RadToolTipManager1.TargetControls.Clear(); |
} |
RadListViewTissue.CurrentPageIndex = e.NewPageIndex; |
RadListViewTissue.DataSource = getTissueList(); |
RadListViewTissue.DataBind(); |
} |
protected void RadListViewTissue_NeedDataSource(object sender, RadListViewNeedDataSourceEventArgs e) |
{ |
RadListViewTissue.DataSource = getTissueList(); |
} |
protected void OnAjaxUpdate(object sender, ToolTipUpdateEventArgs args) |
{ |
this.UpdateToolTip(args.Value, args.UpdatePanel); |
} |
private void UpdateToolTip(string elementID, UpdatePanel panel) |
{ |
Control ctrl = Page.LoadControl("~/Modules/IWC_FabricDetail.ascx"); |
panel.ContentTemplateContainer.Controls.Add(ctrl); |
IWC_FabricDetail details = (IWC_FabricDetail)ctrl; |
details.ContentID = elementID; |
} |
protected void RadListViewTissue_ItemDataBound(object sender, RadListViewItemEventArgs e) |
{ |
if (e.Item.ItemType == RadListViewItemType.DataItem || e.Item.ItemType == RadListViewItemType.AlternatingItem) |
{ |
Control target = e.Item.FindControl("thumbImage"); |
if (!Object.Equals(target, null)) |
{ |
if (!Object.Equals(this.RadToolTipManager1, null)) |
{ |
// add to tooltip manager |
string keyValue = (e.Item as RadListViewDataItem).GetDataKeyValue("contentID").ToString(); |
this.RadToolTipManager1.TargetControls.Add(target.ClientID, keyValue, true); |
} |
} |
} |
} |
thanks a lot for help!
best regards
Simon