Current filter:
                                You should refresh the page.
                                0
                                  • I have a gridview in my application that contains textboxes. I want the user to be able to edit the value in the textbox without having to invoke the gridview "edit" method. I need to validate the input. The valid data is a number less than or equal to 1,000. I was using regular expressions to check for numeric value but the client wants to check for the size of the number, too. I cannot get the validation to execute. The HTML markup for the grid is shown below. Can you find something wrong with this? Why isn't the validation kicking off?





                                    <dx:ASPxGridView ID="gridFormulas" runat="server" AutoGenerateColumns="False" ClientIDMode="AutoID"


                                    ClientInstanceName="grid" CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua"


                                    KeyFieldName="IPCNUMBER" Width="1024px">


                                    <Columns>


                                    <dx:GridViewCommandColumn ShowInCustomizationForm="True" ShowSelectCheckbox="True"


                                    VisibleIndex="0" Width="24px" AllowDragDrop="False" FixedStyle="Left">


                                    <ClearFilterButton Visible="True">


                                    </ClearFilterButton>


                                    </dx:GridViewCommandColumn>


                                    <dx:GridViewDataTextColumn FieldName="IPCNUMBER" ShowInCustomizationForm="True" VisibleIndex="1"


                                    Width="96px" Caption="IPC NUMBER" FixedStyle="Left">


                                    <Settings AllowSort="True" SortMode="DisplayText" />


                                    </dx:GridViewDataTextColumn>


                                    <dx:GridViewDataTextColumn FieldName="CHEMICALNAME" ShowInCustomizationForm="True"


                                    VisibleIndex="2" Width="304px" Caption="MATERIAL NAME" FixedStyle="Left">


                                    <Settings AllowSort="True" SortMode="DisplayText" />


                                    </dx:GridViewDataTextColumn>


                                    <dx:GridViewDataTextColumn FieldName="DOSE1" ShowInCustomizationForm="True"


                                    VisibleIndex="3" Width="150px" FixedStyle="Left" Caption="-" Name="Formula1">


                                    <DataItemTemplate>


                                    <dx:ASPxTextBox ID="txtbox1" runat="server" Value='<%#Bind("DOSE1")%>' Width="64px" OnValueChanged="validNumber" OnValidation="validNumber">


                                    <ValidationSettings CausesValidation="True" Display="Dynamic"


                                    ErrorDisplayMode="Text" ErrorText="Number &lt;= 1000"


                                    ErrorTextPosition="Bottom" SetFocusOnError="True" ValidateOnLeave="true" EnableCustomValidation="True">


                                    </ValidationSettings>


                                    </dx:ASPxTextBox>


                                    </DataItemTemplate>


                                    <HeaderStyle HorizontalAlign="Center" />


                                    </dx:GridViewDataTextColumn>


                                    <dx:GridViewDataTextColumn FieldName="DOSE2" ShowInCustomizationForm="True"


                                    VisibleIndex="4" Width="150px" FixedStyle="Left" Caption="-" Name="Formula2">


                                    <DataItemTemplate>


                                    <dx:ASPxTextBox ID="txtbox2" runat="server" Value='<%#Bind("DOSE2")%>' Width="64px">


                                    <ValidationSettings CausesValidation="True" Display="Dynamic"


                                    ErrorDisplayMode="Text" ErrorText="Number &lt;= 1000"


                                    ErrorTextPosition="Bottom" SetFocusOnError="True">


                                    <RegularExpression ErrorText="Number &lt;= 1000"


                                    ValidationExpression="^[-+]?(\d+)?(\.\d+)?$" />


                                    </ValidationSettings>


                                    </dx:ASPxTextBox>


                                    </DataItemTemplate>


                                    <HeaderStyle HorizontalAlign="Center" />


                                    </dx:GridViewDataTextColumn>


                                    <dx:GridViewDataTextColumn FieldName="DOSE3" ShowInCustomizationForm="True"


                                    VisibleIndex="5" Width="150px" FixedStyle="Left" Caption="-" Name="Formula3">


                                    <DataItemTemplate>


                                    <dx:ASPxTextBox ID="txtbox3" runat="server" Value='<%#Bind("DOSE3")%>' Width="64px">


                                    <ValidationSettings CausesValidation="True" Display="Dynamic"


                                    ErrorDisplayMode="Text" ErrorText="Number &lt;= 1000"


                                    ErrorTextPosition="Bottom" SetFocusOnError="True">


                                    <RegularExpression ErrorText="Number &lt;= 1000"


                                    ValidationExpression="^[-+]?(\d+)?(\.\d+)?$" />


                                    </ValidationSettings>


                                    </dx:ASPxTextBox>


                                    </DataItemTemplate>


                                    <HeaderStyle HorizontalAlign="Center" />


                                    </dx:GridViewDataTextColumn>


                                    <dx:GridViewDataTextColumn FieldName="DOSE4" ShowInCustomizationForm="True"


                                    VisibleIndex="6" Width="150px" FixedStyle="Left" Caption="-" Name="Formula4">


                                    <DataItemTemplate>


                                    <dx:ASPxTextBox ID="txtbox4" runat="server" Value='<%#Bind("DOSE4")%>' Width="64px">


                                    <ValidationSettings CausesValidation="True" Display="Dynamic"


                                    ErrorDisplayMode="Text" ErrorText="Number &lt;= 1000"


                                    ErrorTextPosition="Bottom" SetFocusOnError="True">


                                    <RegularExpression ErrorText="Number &lt;= 1000"


                                    ValidationExpression="^[-+]?(\d+)?(\.\d+)?$" />


                                    </ValidationSettings>


                                    </dx:ASPxTextBox>


                                    </DataItemTemplate>


                                    <HeaderStyle HorizontalAlign="Center" />


                                    </dx:GridViewDataTextColumn>


                                    </Columns>


                                    <SettingsBehavior AllowDragDrop="False" AllowGroup="False" AllowSort="False" />


                                    <SettingsPager Mode="ShowAllRecords" PageSize="50" Visible="False">


                                    </SettingsPager>


                                    <Settings VerticalScrollableHeight="450" VerticalScrollBarStyle="Virtual" ShowGroupButtons="False"


                                    ShowHeaderFilterBlankItems="False" />


                                    <SettingsLoadingPanel ImagePosition="Top" />


                                    <Images SpriteCssFilePath="~/App_Themes/Aqua/{0}/sprite.css">


                                    <LoadingPanelOnStatusBar Url="~/App_Themes/Aqua/GridView/gvLoadingOnStatusBar.gif">


                                    </LoadingPanelOnStatusBar>


                                    <LoadingPanel Url="~/App_Themes/Aqua/GridView/Loading.gif">


                                    </LoadingPanel>


                                    </Images>


                                    <ImagesEditors>


                                    <DropDownEditDropDown>


                                    <SpriteProperties HottrackedCssClass="dxEditors_edtDropDownHover_Aqua" PressedCssClass="dxEditors_edtDropDownPressed_Aqua" />


                                    </DropDownEditDropDown>


                                    <SpinEditIncrement>


                                    <SpriteProperties HottrackedCssClass="dxEditors_edtSpinEditIncrementImageHover_Aqua"


                                    PressedCssClass="dxEditors_edtSpinEditIncrementImagePressed_Aqua" />


                                    </SpinEditIncrement>


                                    <SpinEditDecrement>


                                    <SpriteProperties HottrackedCssClass="dxEditors_edtSpinEditDecrementImageHover_Aqua"


                                    PressedCssClass="dxEditors_edtSpinEditDecrementImagePressed_Aqua" />


                                    </SpinEditDecrement>


                                    <SpinEditLargeIncrement>


                                    <SpriteProperties HottrackedCssClass="dxEditors_edtSpinEditLargeIncImageHover_Aqua"


                                    PressedCssClass="dxEditors_edtSpinEditLargeIncImagePressed_Aqua" />


                                    </SpinEditLargeIncrement>


                                    <SpinEditLargeDecrement>


                                    <SpriteProperties HottrackedCssClass="dxEditors_edtSpinEditLargeDecImageHover_Aqua"


                                    PressedCssClass="dxEditors_edtSpinEditLargeDecImagePressed_Aqua" />


                                    </SpinEditLargeDecrement>


                                    </ImagesEditors>


                                    <ImagesFilterControl>


                                    <LoadingPanel Url="~/App_Themes/Aqua/Editors/Loading.gif">


                                    </LoadingPanel>


                                    </ImagesFilterControl>


                                    <Styles CssFilePath="~/App_Themes/Aqua/{0}/styles.css" CssPostfix="Aqua">


                                    <LoadingPanel ImageSpacing="8px">


                                    </LoadingPanel>


                                    </Styles>


                                    <StylesEditors>


                                    <CalendarHeader Spacing="1px">


                                    </CalendarHeader>


                                    <ProgressBar Height="25px">


                                    </ProgressBar>


                                    </StylesEditors>


                                    </dx:ASPxGridView>

                                • Vlаd 08.07.2012

                                  If you replace ASPxTextBox with ASPxSpinEdit, you will be able to restrict user input as required. E.g. you can hide spin buttons, and setup min and max values.

                                You must  log in  or  register  to leave comments

                                1 Solution

                                0

                                Hi Veronica,

                                Please try the solution that Vläd suggested. You can use the ASPxSpinEdit control in your scenario. Thus, your markup should be as follows:

                                	
                                [ASPx]
                                <dx:ASPxSpinEdit ID="ASPxSpinEdit1" runat="server" Height="21px" Number="0" MaxValue="1000"> <SpinButtons ShowIncrementButtons="False"> </SpinButtons> </dx:ASPxSpinEdit>

                                Let us know whether or not this solution meets to your requirements.

                                UPDATE:

                                If you do not want to use ASPxSpinEdit, add the following Mask to your ASPxTextBox:

                                	
                                [ASPx]
                                <MaskSettings Mask="<0..999g>.<0..99g>" />

                                Also, note that ASPxSpinEdit allows inputing float values as well. Just set the ASPxSpinEdit.NumberType property to Float (which is the default value of this property).

                                • Veronica Cocuzza 08.09.2012

                                  Nikolai - no, the ASPxSpinEdit control is not acceptable. The user wants to type in a number, which can be a decimal, not have to use a spinner.

                                • Veronica, we have updated the Answer.

                                You must  log in  or  register  to leave comments
                                You must  log in  or  register  to leave an answer

                                Is your intention to post an answer to your own question?

                                • If so, then proceed.
                                • If you simply wanted to post additional information, ask for further clarification, or to just say "Thanks!", please click Leave a Comment.
                                • If you wish to edit your original question, please use the Edit button in the Toolbox at the top right corner of that entry.