I basically want to use the Tool / ToolTipified Grid from the Telerik, I followed pretty much the same instructions with a bit of differences in ascx. But it gave me the error:
RadToolTipManager response error:
Exception=Sys.WebForms.PageRequetManagerServerErrorException: Object reference not set to an instance of an object.
And the tooltip fires but content is not populated.
Below are my codes:
Default.aspx
Default.aspx.vb
Controls
RadToolTipManager response error:
Exception=Sys.WebForms.PageRequetManagerServerErrorException: Object reference not set to an instance of an object.
And the tooltip fires but content is not populated.
Below are my codes:
Default.aspx
<telerik:RadAjaxPanel runat="server" ID="AjaxPanel"> |
<telerik:RadGrid ID="RadGrid1" runat="server" AllowMultiRowSelection="true" |
AllowSorting="True" AutoGenerateColumns="False" GridLines="Both" |
Skin="Black" SelectedItemStyle-ForeColor="Aqua" OnSortCommand="RadGrid1_SortCommand"> |
<MasterTableView ClientDataKeyNames="NodeName" RowIndicatorColumn-Display="false" TableLayout="Auto" AllowMultiColumnSorting="true" DataKeyNames="NodeName" > |
<Columns> |
<telerik:GridBoundColumn HeaderText="Terminal" DataField="NodeName" SortExpression="NodeName" ItemStyle-Wrap="false" |
ItemStyle-HorizontalAlign="Center" UniqueName="DisplayName"> |
<ItemStyle HorizontalAlign="Left" Wrap="False" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn HeaderText="IP Address" DataField="IPAddress" SortExpression="IPAddress" ItemStyle-Wrap="false" |
ItemStyle-HorizontalAlign="Center" UniqueName="IpAddress" HeaderStyle-HorizontalAlign="Center" AllowSorting="false" > |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn HeaderText="Last Online Time" SortExpression="LastOnline" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="Center" UniqueName="LastOnlineTime" HeaderStyle-HorizontalAlign="Center" AllowSorting="false" > |
</telerik:GridBoundColumn> |
<telerik:GridTemplateColumn HeaderText="Product" SortExpression="ProductName"> |
<ItemTemplate> |
<asp:HyperLink ID="targetControl" runat="server" NavigateUrl="#"><img src="Style/Images/page2.gif" border="0" /></asp:HyperLink> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px" /> |
</RowIndicatorColumn> |
<ExpandCollapseColumn> |
<HeaderStyle Width="20px" /> |
</ExpandCollapseColumn> |
</MasterTableView> |
<ClientSettings EnableRowHoverStyle="true" > <Selecting AllowRowSelect="true"/> |
<ClientEvents OnRowCreated="RadGrid1_RowCreated" OnRowDeSelected="RadGrid1_RowDeselected" OnRowSelected="RadGrid1_RowSelected" OnRowContextMenu="RowContextMenu" /> |
</ClientSettings> |
</telerik:RadGrid> |
<asp:Timer ID="Timer1" runat="server" EnableViewState="False" Interval="500000" OnTick="Timer1_Tick"> |
</asp:Timer> |
</telerik:RadAjaxPanel> |
<telerik:RadAjaxManager ID="RadAjaxManager2" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="Timer1"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="AjaxPanel" /> |
</UpdatedControls> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
<telerik:AjaxUpdatedControl ControlID="RadToolTipManager1" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<telerik:RadToolTipManager ID="RadToolTipManager1" OffsetY="-1" HideEvent="ManualClose" |
Width="250" Height="350" runat="server" RelativeTo="Element" OnAjaxUpdate="OnAjaxUpdate" |
Position="MiddleRight" > |
</telerik:RadToolTipManager> |
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="30" CssClass="LoadingPanel" > |
</telerik:RadAjaxLoadingPanel> |
Default.aspx.vb
Private Sub UpdateToolTip(ByVal elementID As String, ByVal panel As UpdatePanel) |
Dim ctrl As Control = Page.LoadControl("ctrlGridRowDetail.ascx") |
panel.ContentTemplateContainer.Controls.Add(ctrl) |
Dim details As ctrlGridRowDetail = DirectCast(ctrl, ctrlGridRowDetail) |
details.rowID = elementID |
End Sub |
Sub OnAjaxUpdate(ByVal sender As Object, ByVal args As ToolTipUpdateEventArgs) |
Me.UpdateToolTip(args.Value, args.UpdatePanel) |
End Sub |
Private Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound |
If (TypeOf (e.Item) Is GridDataItem) Then |
Dim target As Control = e.Item.FindControl("targetControl") |
If Not [Object].Equals(target, Nothing) Then |
If Not [Object].Equals(Me.RadToolTipManager1, Nothing) Then |
Me.RadToolTipManager1.TargetControls.Add(target.ClientID, (TryCast(e.Item, GridDataItem)).GetDataKeyValue("NodeName").ToString(), True) |
End If |
End If |
End If |
End Sub |
Protected Sub RadGrid1_SortCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridSortCommandEventArgs) |
RadToolTipManager1.TargetControls.Clear() |
End Sub |
Controls
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ctrlGridRowDetail.ascx.vb" Inherits="ClientWebApp.ctrlGridRowDetail" %> |
<asp:Label runat="server" ID="lblTitle"></asp:Label> |
<asp:Label ID="lblAttribute" runat="server"></asp:Label> |
Private row As String |
Property rowID() As String |
Get |
Return row |
End Get |
Set(ByVal value As String) |
row = value |
End Set |
End Property |
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load |
BindNodeInfo() |
End Sub |
Protected Sub BindNodeInfo() |
<<-- Populate Data here and attach result to a string builder --> |
lblAttribute.Text = sb.ToString() |
End Sub |