radcontrols tooltip и radgrid - PullRequest
       6

radcontrols tooltip и radgrid

0 голосов
/ 03 июня 2011

Я пытаюсь воспроизвести что-то вроде этого демо http://demos.telerik.com/aspnet-ajax/tooltip/examples/tooltipversustooltipmanager/defaultvb.aspx

, используя radtooltipmanager и radgrid, но я получаю сообщение об ошибке, что default2 не определено

вот мой код

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            If Me.IsPostBack Then
                'GridView does not keep its items' IDs after postback, so rebind it or else tooltip manager will not show tooltips
                RadGrid1.DataBind()
            End If
        End Sub


    Protected Sub OnAjaxUpdate(ByVal sender As Object, ByVal args As ToolTipUpdateEventArgs)
        Dim ctrl As Control = Page.LoadControl("default2.aspx")
        args.UpdatePanel.ContentTemplateContainer.Controls.Add(ctrl)
        Dim details As default2 = DirectCast(ctrl, default2)
        details.Country = args.Value
    End Sub
    Protected Sub Grid1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)

        Dim row As Data.DataRowView = DirectCast(e.Row.DataItem, Data.DataRowView)
        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim country As String = row("owed").ToString()
            RadToolTipManager1.TargetControls.Add(e.Row.ClientID, country, True)
        End If
    End Sub

и это их

Private Sub Page_Load(sender As Object, e As System.EventArgs)
    If Me.IsPostBack Then
        'GridView does not keep its items' IDs after postback, so rebind it or else tooltip manager will not show tooltips
        Grid1.DataBind()
    End If
End Sub

Protected Sub OnAjaxUpdate(sender As Object, args As ToolTipUpdateEventArgs)
    Dim ctrl As Control = Page.LoadControl("InfoCustomers.ascx")
    args.UpdatePanel.ContentTemplateContainer.Controls.Add(ctrl)
    Dim details As InfoCustomers = DirectCast(ctrl, InfoCustomers)
    details.Country = args.Value
End Sub
Protected Sub Grid1_RowDataBound(sender As Object, e As GridViewRowEventArgs)
    Dim row As DataRowView = DirectCast(e.Row.DataItem, DataRowView)
    If e.Row.RowType = DataControlRowType.DataRow Then
        Dim country As String = row("Country").ToString()
        RadToolTipManager1.TargetControls.Add(e.Row.ClientID, country, True)
    End If

End Sub
End Class

1 Ответ

0 голосов
/ 06 июня 2011

Просто быстро просматривая ваш код, я вижу, что вы пытаетесь использовать Page.LoadControl () на странице WebForms, а не пользовательский элемент управления.Я рекомендую создать пользовательский элемент управления (.ascx), реплицирующий вашу страницу WebForms (.aspx), и попытаться загрузить его вместо этого.

...