StrataFrame Forum

Number,date,money formatting

http://forum.strataframe.net/Topic4700.aspx

By Keith Chisarik - 11/21/2006

OK this is probably a total noob question, but I have been struggling with it greatly.



I have a website, bound to SQL Server data. My question is about formatting of the different datatypes and data entry.



For dates I have a binding format of {0:d} and am using calendar controls for theuser to enter the dates, so proper formatting of the data entry is not an issue.



I have other fields of type money and integer and no matter what I try, I get this, Input string was not in a correct format.



When I put a BindingFormat of {0:c} the money values look pretty but when the user enters data it throws up, likewise with the integer if they put a comma.



I am new to this method of formatting and before a few days ago had never see anything like {0:c} or {0:N3}.



Can you point me in the right direction? I am guessing that the user input must match exactly what the SQL Server is expecting, but i am having issues making that happen.



Thanks
By StrataFrame Team - 11/21/2006

The problem is not with your data formatting... the problem is with the parsing of the data back into the properties on the business object.  You'll probably need to wrap the textbox or other control you are using for data input and override the Value property (or whatever property on the control returns the value entered by the user).  All data from the users is transmitted back to the server as a string, so the string must then be parsed back into an integer or double, or whatever data type you have specified.  So, when you override the Value property, you will want to strip off all of the commas, $'s, and other symbols that are not part of the actual number, so if the user typed this: $1,000.75  then the control would return this: 1000.75 from it's Value property

It's always fun on the web Smile

By Keith Chisarik - 11/21/2006

I don't like web programming much.



Thanks for the tip.
By Charles Thomas Blankenship - 11/21/2006

Ben,

This is an opportune time to ask the following.  Do the controls provided by the third party providers automatically do things like the processing you are talking about?  The reason that I ask is that we are considering dropping a thousand on Infragistics and I would not be very happy if I still had to write something like this in addition to dropping the funds for the controls.

PMFJI and thanks,

CT

By Trent L. Taylor - 11/21/2006

Infragistics controls will actually manage the data type for you so you do not run into this as when you use the inherited .NET controls.  All of the Infragistics controls have a value property that is typed as the expected value.  So when you are dealing with dates, it forces proper entry when using their UltraDateTimeEdit web control.  If you do a GetType() of the value property you will see it is typed as a DateTime rather than a string.  So you will use the IBusinessBindable interface and bind to the Value property rather than the Text property which will resolve most of your problems.

So in short, yes, Infragistics will automatically strip these types of characters that are causing you problems when you use their Value property on the control.

By Keith Chisarik - 11/22/2006

someone got a spare grand for me ? Smile
By Trent L. Taylor - 11/22/2006

Hehe  You can create your own control relatively easily.  Someday I am sure we will update our web controls to this type of format...but when we need something, we just go create a web control.  They are actually very easy and kindof fun to write.  You could do all of your parse and stripping in your control and just implement the IBusinessBindable interface.