Solved

GridView Validation

Posted on 2008-06-11
3
761 Views
Last Modified: 2012-06-21
hi

I have a gridview with two columns that contain a textbox each that i would like to validate. Each row also contains an imagebutton that does some action. How do i make it so that it only validates for the specific row that the button was click?


Allan


<asp:GridView ID="gvPossibleAnswers" EnableViewState="true" AutoGenerateColumns="false" runat="server" OnRowCreated="gvPossibleAnswers_RowCreated" OnRowDataBound="gvPossibleAnswers_RowDataBound">
                        <Columns>
                            <asp:BoundField HeaderText="Option ID" DataField="OptionID" />
                            <asp:TemplateField HeaderText="Label Text">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtOptionText" runat="server" Text=""></asp:TextBox>
                                    <asp:RequiredFieldValidator id="rfvOptionText" ControlToValidate="txtOptionText" ErrorMessage="Answer Text is missing" Display="none" runat="server"></asp:RequiredFieldValidator>                       
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Sort Order">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtSortOrder" runat="server" Text=""></asp:TextBox>
                                    <asp:RegularExpressionValidator ID="revSortOrder" ControlToValidate="txtSortOrder" runat="server" ErrorMessage="Sort Order must be a digit" Display="none" ValidationExpression="^\d+$"></asp:RegularExpressionValidator>
                                </ItemTemplate>                        
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Status">
                                <ItemTemplate>
                                    <asp:DropDownList EnableViewState="true" ID="ddlStatusInd" runat="server">
                                        <asp:ListItem Value="0S1" Text="Active" />
                                        <asp:ListItem Value="0S0" Text="InActive" />
                                    </asp:DropDownList>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:TemplateField HeaderText="Actions">
                                <ItemTemplate>
                                    <asp:ImageButton ID="imgBtnAdd" runat="server" ImageUrl="~/Images/Delete.gif" OnClick="imgBtnAdd_Click" />
                                    <asp:ImageButton ID="imgBtnEdit" runat="server" ImageUrl="~/Images/Edit.gif" OnClick="imgBtnEdit_Click" />
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>

Open in new window

0
Comment
Question by:acadenilla
  • 2
3 Comments
 
LVL 15

Accepted Solution

by:
NazoUK earned 350 total points
ID: 21761455
Is OptionID a unique field for each row?

You could add a validationgroup to your validators and imagebutton, something like:

ValidationGroup = 'row<%#Eval("OptionID")'

This should create a unique validation group for each row and ensure the validators only act on the controls in their own row.
0
 

Author Closing Comment

by:acadenilla
ID: 31466168
thx nazouk

i got it work with your suggestion
0
 

Author Comment

by:acadenilla
ID: 21764086
Note i had to dynamically add ValidationSummary controls for each row in for the validation to show the error message.
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

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

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

803 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