RadToolTip: как заставить его отображаться при наведении мыши на событие, запущенное на элементе управления меткой - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь, чтобы подсказка показывалась, когда на элементе управления меткой запускается событие OnMouseOver. Я получаю исключение JavaScript "Ожидаемый объект" на OnMouseOver="ShowToolTip()

<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" />

Ответы [ 3 ]

1 голос
/ 12 сентября 2012

Я знаю, что это старый, но оригинальная проблема в том, что ваша функция называется ShowTooltip , но в вашем OnMouseOver у вас есть ShowTool T ip

0 голосов
/ 15 марта 2012

@ Дэвид, я нашел лучшее решение без использования 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" />
0 голосов
/ 15 марта 2012

Вы можете попробовать удалить OnMouseOver='ShowToolTip()' из lblStatus и изменить ShowEvent="OnClick" на ShowEvent="OnMouseOver" в rttStatus. Источник

Вы также должны будете поместить telerik:RadToolTip в ItemTemplate из telerik:TreeListTemplateColumn.

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

source

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...