This is a migrated thread and some comments may be shown as answers.

RadToolTipManager Bug (IMO)

2 Answers 116 Views
ToolTip
This is a migrated thread and some comments may be shown as answers.
James
Top achievements
Rank 2
James asked on 30 Oct 2008, 07:43 PM
Here is the setup:
Content page with master page.  Master page contains a textbox, several buttons and several dropdowns shown on the left side, and top portion contains an image.  Contentplaceholder is contained in an RadAjax panel.  Masterpage has RadScriptManager, RadAjaxManager (with multiple settings for the buttons and dropdowns on the master page), 2 RadAjaxLoadingPanels and a RadWindowManager (with 3 RadWindows).
The content Page contains 4 panels that are made visible depending on user selection and if data is returned based on user request.  The request is done via the text box or a combination of the dropdowns on the master page.  The RadToolTipManager is located on the Content Page, and at the beginning did not contain any TargetControls.  They are added dynamically by the code-behind when data is found by the user's request.  This data is shown in a datalist, so the datalist's ItemDataBound method will add TargetControls to the RadToolTipManager for each record.  So initially there are not any TargetControls in the RadToolTipManager on the content page.  Only 1 of the afore-mentioned 4 panels in the content page contain this data and will utilize the RadToolTipManager, and the first panel shown to a user does not use the RadToolTipManager.
If the user's selection critieria requires the user to make a choice before the data list can be populated, panel #2 is shown. This panel will present the user with a radio button list and button to narrow their selection down.  If presented with this panel, the afore-mentioned textbox on the master page will show the dynamic tooltip instead of the hard-coded tooltip for the textbox.  Keep in mind there have not been any targetcontrols added to the radtooltipmanager yet because we have not generated a datalist which causes the code-behind to add targetcontrols. 
Now once the user makes a selections from the radiobuttonlist, the panel containing the datalist can be loaded and targetcontrols for the radtooltipmanager are created, and the hard-coded tooltip for the textbox on the master page is shown correctly, but the code that is fired when the user clicked the button to accept the selection from the radiobuttonlist does not fire correctly and all the comboboxes on the master page do not get populated correctly to reflect the user's choice.  I know this because I log the different actions taken in the code behind.

Here is what the RadToolTipManager looks like in the content page:
        <telerik:RadToolTipManager  ID="RadToolTipManager1" runat="server"   
            AutoTooltipify="False" OnAjaxUpdate="RadToolTipManager1_AjaxUpdate"    
            Position="TopLeft" BackColor="#FFFFCC" BorderStyle="Solid"   
            BorderWidth="1px" Skin="WebBlue" RelativeTo="Mouse" AutoCloseDelay="7000"

SOLUTION:
So to get this working here is what I did.  I added an asp:textbox control to the web page and set a CssClass that would not allow it to be displayed. I then added this textbox as a targetcontrol to the RadToolTipManager.  This makes the textbox on the master page always correctly show the hard-coded tooltip, and the code-behind to function correctly when a user clicks the button to select an item from the radiobuttonlist to populate the comboboxes on the master page.

Conclusion:
If the RadToolTipManager does not have any TargetControls, and the AutoTooltipify = 'false', then the RadToolTipManager should not randomly Tooltipify another control, and I have no idea why the code in the code-behind would not fire once the RadToolTipManger randomly started Tooltipifying controls on the pages.  So in my opinion, this is a bug, albeit with a simple solution, but a bug nonetheless.

Please let me know if you have any suggestions on this issue, and please do not ask me send you a sample project.  I don't have time to create one for you, and I cannot send my current project, because 1) it is much bigger than what I depicted here 2) the database setup is too complicated to just throw something together and send to you.  If you have additional questions about my project, please let me know and I will do my best to answer them, or provide an example if possible.

Thanks!

2 Answers, 1 is accepted

Sort by
0
Accepted
Svetlina Anati
Telerik team
answered on 03 Nov 2008, 12:40 PM

Hello James,

Thank you for your cooperation. I am not quite sure about your exact configuration because it is seems to be complex and despite the detailed explanation I am not able to build a test project. I assume that you might update the RadToolTipManager with AJAX - there is a known problem when updating the RadToolTipManager with AJAX concerning the Autotooltipify property and we are currently working on it. For the time being in order to solve the problem I suggest to use a fake control and add it to the TargetControls collection in the markup - in this case, the tooltipmanager will not iterate trough all the controls to autotooltipify them.

In our next release which is scheduled for this week, the RadToolTipManager will have the Autotooltipify property set to false by default and after you upgrade to it, depending on the specific scenario the problem might disappear but I cannot tell you this for sure because I do not have your code.

This being said, please add a fake control ID to the collection (no such control exists on the page) and set the isClientID property for this control to true because no such server ID exists. Let me know how it goes and in case this does not fix the issue, please send me a sample fully runnable demo (including DB, if needed) along with detailed reproduction steps. I understand that it will take some of your time but you do not need to provide a big project - it is enough just to provide a simple page with the needed settings to reproduce the issue.

As to the problem with the code-behind code, I believe that it is not related to te RadToolTipManager control.


Sincerely yours,

Svetlina
the Telerik team

Check out Telerik Trainer, the state of the art learning tool for Telerik products.
0
James
Top achievements
Rank 2
answered on 03 Nov 2008, 02:00 PM
My mistake in indicating that the controls where Ajaxified.  Your solution to the issue is similiar to mine.  I will look forward to the new update to see if this will resolve the issue without having to 'fool' the RadToolTipManager.

To your last statement concerning the code-behind.  All test results indicate that adding a dummy control to the RadToolTipManager makes the code-behind behave as designed, but if I do not have a dummy control in the RadToolTipManager then I get the odd behavior.  Test plan is the same for each scenario, and the only code change is too add a dummy control to the RadToolTipManager.  Could be I missed something in my test plans.

Thanks for acknowledging the issue, and providing a possible fix!
Tags
ToolTip
Asked by
James
Top achievements
Rank 2
Answers by
Svetlina Anati
Telerik team
James
Top achievements
Rank 2
Share this question
or