Click here to Skip to main content
15,896,154 members
Articles / Web Development / ASP.NET
Article

NumericInput

Rate me:
Please Sign up or sign in to vote.
2.78/5 (5 votes)
8 Mar 2006CPOL2 min read 82.3K   503   36   24
A numeric input control.

Introduction

This code drop is part of a smash and grab series. If you're in a rush, you can just grab this code and insert it into your application, no understanding is required. When you have some time, you can review the source code.

Background

I was presented with a project to convert an Access single-user application into a web-based multi-user SQL Server application. The Access application had a number of numeric input boxes. I couldn't find what I needed anywhere on the net. So, I had to find a solution myself.

Using the code

  • Download the project, unzip it to somewhere on your hard disk.
  • Create a new ASP.NET project.
  • Select Tools > Choose toolbox items.
  • Navigate to the unzip folder and select the DLL.
  • The new server control now appears in the toolbox under General.
  • Drag an instance of it onto Default.aspx.

Now, set these properties on the NumericInput:

  • NumericFormat: Integer, Float or Currency.
  • DecimalSeparator: If left blank, the current culture's default is used (usually '.' or ','). To override, enter '.' , ',' or any other character (don't include the quotes).

Points of interest

The control also works with data binding for use in GridView, etc. The control extracts the JavaScript from the DLL using WebResource. Search CodeProject for the keywords webresource redux for details on this subject.

SmashGrab / Redux series

I have recently started two series of articles here at CodeProject. Smash and Grab is intended as a series of short articles on one specific code technique. Redux is intended as a series of longer articles which attempts to reduce a complicated topic (like GridView) into its basic constituent parts and shows that once you have all the information, it isn't really that hard. To find the Smash and Grab articles, search for the keyword SmashGrab. To find the Redux articles, search for the keyword Redux.

I welcome any contributions to either series, but please follow the guidelines when submitting articles to either.

Conclusion

There you go, a free ASP.NET 2.0 numeric input control that suits my needs and hopefully yours.

Updates

  • 2006/02/21
    • Internationalized so that the decimal separator (usually '.' or ',') is determined by the current culture.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Canada Canada
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generala small bug Pin
tuhucon6-May-07 5:53
tuhucon6-May-07 5:53 
GeneralNumericInput Javascript Pin
Brad Vin23-Mar-06 0:58
Brad Vin23-Mar-06 0:58 
GeneralRe: NumericInput Javascript Pin
Gary Dryden23-Mar-06 2:14
Gary Dryden23-Mar-06 2:14 
GeneralAllowing to type directly ".5" Pin
Antoine Marie9-Mar-06 3:22
Antoine Marie9-Mar-06 3:22 
GeneralNeed the DLL Pin
Antonino Ferrando7-Mar-06 23:47
Antonino Ferrando7-Mar-06 23:47 
GeneralRe: Need the DLL Pin
RatulSaikia8-Mar-06 19:46
RatulSaikia8-Mar-06 19:46 
Question.DLL File Not Included Pin
Big Tones7-Mar-06 12:53
Big Tones7-Mar-06 12:53 
AnswerRe: .DLL File Not Included Pin
Gary Dryden7-Mar-06 13:03
Gary Dryden7-Mar-06 13:03 
GeneralRe: .DLL File Not Included Pin
Big Tones7-Mar-06 15:17
Big Tones7-Mar-06 15:17 
GeneralRe: .DLL File Not Included Pin
Antonino Ferrando7-Mar-06 23:48
Antonino Ferrando7-Mar-06 23:48 
AnswerRe: .DLL File Not Included Pin
hitman_s23-Jun-06 20:18
hitman_s23-Jun-06 20:18 
GeneralAuxilio Pin
GerardoPeder22-Feb-06 3:27
GerardoPeder22-Feb-06 3:27 
GeneralRe: Auxilio Pin
Gary Dryden22-Feb-06 4:22
Gary Dryden22-Feb-06 4:22 
GeneralRe: Auxilio Pin
GerardoPeder23-Feb-06 4:06
GerardoPeder23-Feb-06 4:06 
GeneralRe: Auxilio Pin
Gary Dryden23-Feb-06 4:47
Gary Dryden23-Feb-06 4:47 
GeneralRe: Auxilio Pin
Paul Conrad27-Feb-06 15:49
professionalPaul Conrad27-Feb-06 15:49 
GeneralRe: Auxilio Pin
Paul Conrad27-Feb-06 15:50
professionalPaul Conrad27-Feb-06 15:50 
GeneralHardcoded decimal separetor = No international support Pin
simone massaro21-Feb-06 7:30
simone massaro21-Feb-06 7:30 
GeneralRe: Hardcoded decimal separetor = No international support Pin
Gary Dryden21-Feb-06 8:59
Gary Dryden21-Feb-06 8:59 
GeneralRe: Hardcoded decimal separetor = No international support Pin
simone massaro21-Feb-06 9:26
simone massaro21-Feb-06 9:26 
GeneralRe: Hardcoded decimal separetor = No international support Pin
dferreira0427-Mar-06 18:43
dferreira0427-Mar-06 18:43 
GeneralRe: Hardcoded decimal separetor = No international support Pin
simone massaro8-Mar-06 3:48
simone massaro8-Mar-06 3:48 
GeneralRe: Hardcoded decimal separetor = No international support Pin
dferreira0428-Mar-06 4:03
dferreira0428-Mar-06 4:03 
I'm sorry, I guess I didn't state it very clearly at all. I agree with you that the control is written right in so far as it should be aware of the current thread's culture and adapt accordingly (which was the point I messed up on the previous post). I am a proponent of intelligent controls. Anything emitted by the control should be consistent with the culture under which the control is instantiated.

As far as the technique of switching the current thread to match the culture of client - well, I am very familiar with threading issues, but did not know about the language cookie until your post. In my past experience, this has been set on a global level at the server and not on a client by client basis. Learn something new no matter how hard you try to avoid it Big Grin | :-D . I don't have as much call for globalization of an application because 90% of my clients have me working on internal apps. But point noted, and thanks for the info.

On re-reading this, I think I should say that ultimately it all depends on the intended use of the control. If developed/used for purely internal applications where the culture is determined by the IT staff, then it is perfectly acceptable to hard code the separator. Otherwise, as a web control it should be intelligent enough to adapt to the culture of the environment. This assumes, of course, that the container developer has done something such as you have suggested.

"When everyone is out to get you, paranoid is just good thinking" - Dr. Johnny Fever

-- modified at 10:06 Wednesday 8th March, 2006
GeneralRe: Hardcoded decimal separetor = No international support Pin
simone massaro8-Mar-06 5:15
simone massaro8-Mar-06 5:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.