#vb.net #telerik #telerik-grid
#vb.net #telerik #telerik-сетка
Вопрос:
Я пытаюсь воспроизвести что-то вроде этой демонстрации 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:
Просто быстро просматривая ваш код, я вижу, что вы пытаетесь использовать Page.LoadControl() на странице WebForms, а не в пользовательском элементе управления. Я рекомендую создать пользовательский элемент управления (.ascx), копирующий вашу страницу WebForms (.aspx), и попытаться загрузить его вместо этого.