I am using a WebDateChooser control in an update panel which is reside in an UltraWebTab.When the page is loaded for the first time , I selected a date and submit the information and it get saved without any issues.
Then I wanted to change the date again and I clicked on the WebDateChooser control and then the Calender is not get displayed.
What could be the reason for this ?
Additional Info : This functionality is from a custom web part I developed in sharepoint.
Hi,
If that happens only under IE, then the reason can be failed readyState. In order to open drop-down calendar WebDateChooser checks its location and if it is located not directly in <form> or <body>, then it removes html element of calendar from its current parent and appends it to body. Unfortunately if that happens before page is loaded, then IE raises exception. So, to avoid that, WebDateChooser checks if page is loaded. For that purpose the onload event is used and document.readyState=='complete'. If both of those flags failed, then calendar is not dropped. On other hand I already saw few applications with complex architecture, when after async postback the readyState of IE is permantly falls into 'interactive' state and WebDateChooser never opens calendar. Unfortunately internal logic of WebDateChooser is not able to get around that feature of IE.
Application may disable load-check (and hope that user will not click drop-down while page is loading). To disable that validation application may do following:
<igsch:WebDateChooser ID="WebDateChooser1" runat="server"> <ClientSideEvents InitializeDateChooser="WebDateChooser1_InitializeDateChooser"></ClientSideEvents></igsch:WebDateChooser>
Hi Viktor
This is happening in both IE and FF.
So I guess what you suggested here is not applicable in this scenario.
Any thing else I should try.
Thank you.
found a work around - for the chooser, on AfterDropdown event, call the setVisible method with "true" as shown below.
[datechooser].setVisible(true);
I'm having a similar issue but it only seems to occur in ie and on the first hit - subsequent click on the dropdown button shows the date chooser, as if some switch gets set on the first hit. I tried setting "igdrp_all._loaded = true;" on the InitializeDateChooser event. I am using 8.3.20083.2039, and the datechooser is referenced by a webgrid which is in a web page hosted by a webtab. Any help would be appreciated, thanks.
Thank you very much for trying to reproduce the issue and trying to figure out what is causing that issue.
I am using web application projects for my web parts and under the "CreateChildControls" method I load the user control.By doing this it will save lots of design time when creating your web part.
Here is the code in the CreateChildControls method.
_control = this.Page.LoadControl(UserControlPath + UserControlFileName); Controls.Add(_control);
I am using the 6.3 version and will try to do a test using 7.2 as you mentioned.
I eventually had a chance to test a WebPart on a VirtualMachine which had WindowServer2003 with SharePoint and VisualStudio2008.
I created a WSPBuilder project with a WebPartFeature/Site and I implemented its CreateChildControls by following:
base.CreateChildControls(); ScriptManager man = new ScriptManager(); this.Controls.Add(man); UpdatePanel pan = new UpdatePanel(); pan.ID = "up1"; WebDateChooser dc = new WebDateChooser(); //dc.JavaScriptFileName = "/js/ig_WebDropDown.js"; //dc.JavaScriptFileNameCommon = "/js/ig_shared.js"; //dc.CalendarJavaScriptFileName = "/js/ig_calendar.js"; dc.ID = "dc1"; Button b = new Button(); b.Text = "Button"; b.ID = "b1"; this.Controls.Add(pan); pan.ContentTemplateContainer.Controls.Add(dc); pan.ContentTemplateContainer.Controls.Add(b);
First thing that I found, that if a ScriptManager is present, then embedded javascript resources of WebDateChooser are not loaded. To debug, I built a debug versions of Shared and WebDateChooser dlls on that machine and tried both available options for embedded scriptsSystem.Web.UI.ScriptManager.RegisterClientScriptResource(..)System.Web.UI.ScriptManager.Scripts.Add(..)I added "test" alerts to embedded js files and similar validations for "typeof igdrp_getElementById" within initialization script.None of them worked and I could not figure out the reason why ScriptManager ignored embedded resources. So, to get around, I copied required js files to C:\Inetpub\wwwroot\wss\VirtualDirectories\80\js and set corresponding properties for WebDateChooser (see commented lines in codes above).That worked and WebDateChooser became operational. While testing that WebPart I noticed that button clicks trigger full postbacks instead of asynchronous and that was not related to WebDateChooser. A single button in updatepanel did exactly the same: full postback.
Probably my test application was wrong. It would be nice if you attach some codes (within CreateChildControls), which can be used to test that issue. If codes longer than few lines, then please use Options tab.
From my past experience with SharePoint, the reason for misbehavior can be missed ID properties of controls. Please ensure that every child control and all its naming container has a hard coded value for its ID property. That includes WebDateChooser, its ContentPane, its UltraWebTab and its container (which is probably UpdatePanel).To set ID of content pane you may use something like
Tab.ContentPane.ID = "cp1";
Also please try the lates hot-fixes, maybe that issue was already fixed. (Note: there are no hot-fixes for versions prior to 7.2).
I am having the similar issue when using the WebDateChooser in WebGrid being rendered in an <iframe>. Drop down calendar briefly appears and then disappears and subsequent attempts to display calendar does not work... for some reason, the calendar is triggered to be closed... Please help!!! We are using version 8.3.20083.2021.