Benny Theunis
asked on
Format fields in Crystal Report
Hi,
I'm fairly new to C# programming, and I'm using Visual Studio 2008 and Crystal Report to generate some reports. Problem is:
I've written a program to give me an xml file from a PDA.
The xml fields/nodes get imported to my Crystal Report, however, all the fields are "string" format. I have a date field, but it shows as "2013-06-05T00:00:00-07:00 "
What should I do to get this displayed as a proper date field, i.e. "5 June 2013"
Do I need to create a parameter or formula field?
Also, I got a field with numbers. Example: "39.2857142857143"
I want this to be in percentage with and only 2 decimal places.
These are the two issues I'm stuck with at the moment.
If you can help me with the steps I need to take in order to achieve this, I would appreciate it very much.
I'm fairly new to C# programming, and I'm using Visual Studio 2008 and Crystal Report to generate some reports. Problem is:
I've written a program to give me an xml file from a PDA.
The xml fields/nodes get imported to my Crystal Report, however, all the fields are "string" format. I have a date field, but it shows as "2013-06-05T00:00:00-07:00
What should I do to get this displayed as a proper date field, i.e. "5 June 2013"
Do I need to create a parameter or formula field?
Also, I got a field with numbers. Example: "39.2857142857143"
I want this to be in percentage with and only 2 decimal places.
These are the two issues I'm stuck with at the moment.
If you can help me with the steps I need to take in order to achieve this, I would appreciate it very much.
I'd suggest you export from your program to the intermediate XML file in the correct format you want.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
U have 2 options:
1. Format the values in your program before generating the xml.
2. Format the values before bind to crystal report fields.
The 2nd option is better when u want to consider different formatting.
1. Format the values in your program before generating the xml.
2. Format the values before bind to crystal report fields.
The 2nd option is better when u want to consider different formatting.
ASKER
I was afraid of these answers.
However, peter57r, THAT WORKS 100%! Thank you!!! I knew it could somehow be solved in CR.
My number fields are also in a "string" format.
However, peter57r, THAT WORKS 100%! Thank you!!! I knew it could somehow be solved in CR.
My number fields are also in a "string" format.
ASKER
Looks like I got the value field sorted before I write the information to the xml file with: ValueField.ToString("#.##" )
Just going to put them all together and check the outcome.
Keep you all posted. Thanks for your speedy responses to my issues.
Just going to put them all together and check the outcome.
Keep you all posted. Thanks for your speedy responses to my issues.
Example: "39.2857142857143"
How do you expect to see this as a percentage?
39.29%
To do the first , use..
ToNumber({table.fieldname} )
and then use the right-click formatting to set a custom format, rounding to 2 dp (assuming you do want the number rounded) and also set the display to 2dp.
To get the % just click the % format symbol on the formatting toolbar
How do you expect to see this as a percentage?
39.29%
To do the first , use..
ToNumber({table.fieldname}
and then use the right-click formatting to set a custom format, rounding to 2 dp (assuming you do want the number rounded) and also set the display to 2dp.
To get the % just click the % format symbol on the formatting toolbar
ASKER
Yep.
Sorted.
@peter57r - If I want to include the time of my date field also, what should the code snippet then be?
Sorted.
@peter57r - If I want to include the time of my date field also, what should the code snippet then be?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
"If I want to include the time of my date field also"
I don't know what the time part of your string means ( T00:00:00-07:00)
I don't know what the time part of your string means ( T00:00:00-07:00)
ASKER
Now I'm also confused by the format.
I have to idea what that 07:00 is.
I just test my program and the code behind my DateTime field is:
newRow["AssessmentStartTim e"] = DateTime.Now;
This throws the following to my xml file : "2013-05-20T12:18:05-07:00 "
I have to idea what that 07:00 is.
I just test my program and the code behind my DateTime field is:
newRow["AssessmentStartTim
This throws the following to my xml file : "2013-05-20T12:18:05-07:00
ASKER
Hi AndyAinscow
I understand what you are saying.
Like I said, I'm fairly new to programming. Thank you for the guidance.
I understand what you are saying.
Like I said, I'm fairly new to programming. Thank you for the guidance.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Excellent!
Thank you for your help!
Thank you for your help!
Just a guess. Could the -7:00 be related to how much off from a standard (eg. GMT) your time zone is ?
The obvious guess would be that the end of the string is a time zone adjustment for local time, like UTC - 7 hours. FWIW, if you're in the Western US, the time there now is UTC - 7 hours.
IAC, if an accurate time is important, you should pick some data with a known time and then check the string in your data and see if the time in the string is the time that you're looking for (or maybe some hours off). Keep in mind that if the time is "off", the date could be too. For example, assuming a 7 hour difference, a date and time of 06/05 4:00 AM in your data could really represent 06/04 9:00 PM local time.
James
IAC, if an accurate time is important, you should pick some data with a known time and then check the string in your data and see if the time in the string is the time that you're looking for (or maybe some hours off). Keep in mind that if the time is "off", the date could be too. For example, assuming a 7 hour difference, a date and time of 06/05 4:00 AM in your data could really represent 06/04 9:00 PM local time.
James
ASKER
I'm in South Africa, GMT+2.
I checked my VS2008 emulator running WM6 and the timezone settings on there were GMT-8 Pacific US.
So yes, the timezone is also included in the original DateTime format.
Luckily we make sure that all our PDA's times & dates are up to date & correct.
Thanks guys.
I checked my VS2008 emulator running WM6 and the timezone settings on there were GMT-8 Pacific US.
So yes, the timezone is also included in the original DateTime format.
Luckily we make sure that all our PDA's times & dates are up to date & correct.
Thanks guys.