Solved

Month drop down changing the day.

Posted on 2006-06-29
17
259 Views
Last Modified: 2010-04-16
Hi experts, I little help if i may.

I am using some code I found on the following web site:

http://www.syncfusion.com/faq/aspnet/search/257.aspx

I am using the c# example, my problem is that when I select a month from the drop down it changes the selected day in the calendar control and not the month.

Can any one see why, and if so, how to fix.

Regards

Wayne
0
Comment
Question by:watherton
  • 9
  • 8
17 Comments
 
LVL 5

Expert Comment

by:t_itanium
ID: 17007825
i think that there is a difference between the format in the calender and the format you r using in the code....

one type of format: DD/MM/YY
the other maybe : MM/DD/YY..

so there will be a conflict between day and month..

cheers
Tarek
0
 

Author Comment

by:watherton
ID: 17007857
hi tarek,

thank you for the quick response, however all i've done is cut and paste the code from the site, does it work for you?

Wayne
0
 
LVL 5

Accepted Solution

by:
t_itanium earned 100 total points
ID: 17007976
i think here is the problem..:

DateTime dtNewDate;
 
dtNewDate =DateTime.Parse (Int16.Parse(ddlMonth.SelectedItem.Text) + "/1/" + Int16.Parse( ddlYear.SelectedItem.Text));
 
Calendar1.TodaysDate=dtNewDate ;

here you are using the format : MM/DD/YYYY
and your calender may be using : DD/MM/YYYY
and thus cosidering the day as month


good luck
 
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:watherton
ID: 17008034
ok stepped through the code and the dtNewDate is 09/01/2006 00:00:00, which does look like things are the wrong way around.

do you happen to know the code to switch it to 01/09/2006?

0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17008073
instead of playing with the format..
try to use  

dtNewDate=DateTime.Now;
dtNewDate.AddMonth(difference between the dropdownlist and DateTime.Now);

cheers
0
 

Author Comment

by:watherton
ID: 17008122
sorry, not following, all I want to do is select a month from the drop down and then set the calendar to be that month. not sure what you mean by difference between, can you show an example
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17008181
i mean if your current month is june... 06  

and you chose from the drop to  be august....
then the difference between them is 2...

just add this difference to DateTime.Now.AddMonth(difference)

it will add 2 to 06 and it will change to august..

did you get it..
0
 

Author Comment

by:watherton
ID: 17008217
sorry t, this is all new stuff to me, do have code example
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17008234
DateTime dtNewDate=DateTime.Now;

int diff=int.Parse(ddlMonth.SelectedItem.Text)-int.Parse(DateTime.Now.ToString());

dtNewDate.AddMonth(diff);
Calendar1.TodaysDate=dtNewDate ;

cheers
 

 
0
 

Author Comment

by:watherton
ID: 17008250
system DateTime does not contain a definition for AddMonth
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17008270
sorry

dtNewDate=DateTime.Now.AddMonth(diff);
0
 

Author Comment

by:watherton
ID: 17008284
getting there, get the following after selecting a month, my months are string 01,02,03 etc

System.FormatException: Input string was not in a correct format
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17008305
can you trace the code using breakpoints and f11 to see where is the incorrectformat ??
0
 

Author Comment

by:watherton
ID: 17009255
it's failing on this line
int diff=int.Parse(ddlMonth.SelectedItem.Text)-int.Parse(DateTime.Now.ToString());
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17009760
instead of DateTime.Now.ToString()

use DateTime.Now.Month.TOString()

cheers
0
 

Author Comment

by:watherton
ID: 17009947
great stuff thanks for your help
0
 
LVL 5

Expert Comment

by:t_itanium
ID: 17011435
welcome ;)
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

861 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question