radcontrols工具提示和radgrid

时间:2011-06-03 18:14:23

标签: vb.net telerik telerik-grid

我正在尝试复制像这个演示一样的东西 http://demos.telerik.com/aspnet-ajax/tooltip/examples/tooltipversustooltipmanager/defaultvb.aspx

使用radtooltipmanager和radgrid 但我得到一个错误,默认值2未定义

这是我的代码

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 :(得分:0)

快速查看代码我发现您正在尝试在WebForms页面上使用Page.LoadControl(),而不是用户控件。我建议创建一个用户控件(.ascx)复制WebForms页面(.aspx)并尝试加载它。