[英]RadToolTip: how to get it to show on mouse over event triggered on a label control
我试图让我的工具提示显示何时在标签控件上触发OnMouseOver
事件。 我在OnMouseOver="ShowToolTip()
上收到一个javascript异常“期望对象”
<script type="text/javascript">
function ShowTooltip() {
window.setTimeout(function () {
var tooltip = $find("<%# rttStatus.ClientID %>");
//API: show the tooltip
tooltip.show();
}, 10);
}
</script>
<telerik:RadTreeList>
<Columns>
<telerik:TreeListTemplateColumn HeaderText="Status" SortExpression="Status" UniqueName="Status">
<ItemTemplate>
<asp:Label runat="server" ID="lblStatus" Text='<%# GetStatus(Eval("Status")) %>'
OnMouseOver='ShowToolTip()' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" HorizontalAlign="Left" Width="80px" />
<HeaderStyle HorizontalAlign="Center" Width="80px" />
</telerik:TreeListTemplateColumn>
</Columns>
</telerik:RadTreeList>
<telerik:RadToolTip runat="server" ID="rttStatus" HideEvent="FromCode" Position="MiddleRight" Title="Raison"
Width="150px" Height="70px" Animation="Fade" ShowEvent="OnClick" ShowDelay="0" ManualClose="false"
RelativeTo="Element" TargetControlID="lblStatus" IsClientID="true" Text="this is a test" Skin="Telerik" />
我知道这很旧,但是最初的问题是您的函数名为ShowTooltip ,但是在OnMouseOver
您拥有ShowTool T ip
您可以尝试从lblStatus删除OnMouseOver='ShowToolTip()'
,然后在rttStatus上将ShowEvent="OnClick"
更改为ShowEvent="OnMouseOver"
。 资源
您还必须将telerik:RadToolTip
放在telerik:TreeListTemplateColumn
的ItemTemplate
内。
<telerik:RadTreeList>
<Columns>
<telerik:TreeListTemplateColumn HeaderText="Status" SortExpression="Status" UniqueName="Status">
<ItemTemplate>
<asp:Label runat="server" ID="lblStatus" Text='<%# GetStatus(Eval("Status")) %>'
OnMouseOver='ShowToolTip()' />
<telerik:RadToolTip runat="server" ID="rttStatus" HideEvent="FromCode" Position="MiddleRight" Title="Raison"
Width="150px" Height="70px" Animation="Fade" ShowEvent="OnClick" ShowDelay="0" ManualClose="false"
RelativeTo="Element" TargetControlID="lblStatus" IsClientID="true" Text="this is a test" Skin="Telerik" />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" HorizontalAlign="Left" Width="80px" />
<HeaderStyle HorizontalAlign="Center" Width="80px" />
</telerik:TreeListTemplateColumn>
</Columns>
</telerik:RadTreeList>
您也可以尝试使用下面的1 telerik:RadToolTip
,但更改javascript:
from: var tooltip = $find("<%# rttStatus.ClientID %>");
to: var tooltip = $find("<%= rttStatus.ClientID %>"); //Since we're not in a data-binding syntax the '#' should be replaces with '='
or: var tooltip = $find("rttStatus"); // The telerik example shows using the literal ID of the control instead of the ClientID.
@大卫,我发现没有任何JavaScript的一个更好的解决方案涉及到使用这个时候RadToolTipManager
:
<telerik:RadTreeList>
<Columns>
<telerik:TreeListTemplateColumn HeaderText="Status" SortExpression="Status" UniqueName="Status">
<ItemTemplate>
<asp:Label runat="server" ID="lblStatus" Text='<%# GetStatus(Eval("Status")) %>' ToolTip='<%# Eval("Reason") %>'/>
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" HorizontalAlign="Left" Width="80px" />
<HeaderStyle HorizontalAlign="Center" Width="80px" />
</telerik:TreeListTemplateColumn>
</Columns>
</telerik:RadTreeList>
<telerik:RadToolTipManager ID="RadToolTipManager1" runat="server" RelativeTo="Element"
Position="MiddleRight" AutoTooltipify="true" ContentScrolling="Default" Width="150"
Height="10" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.