Hi,
I need to validate a text box in a datagrid nested inside a datalist. All I
need is to validate that any text is entered in the textbox. However, a
requiredfieldva lidator would not do because I want to perform the validation
only on the datagrid rows where a check box is checked.
Part of the datagrid:
<asp:TemplateCo lumn HeaderText="C #">
<ItemTemplate >
<asp:TextBox Width="50" MaxLenght="5" TextMode="Singl eLine" ID="Cnumber"
runat="server" />
<asp:CustomVali dator id="CNumNotNull "
ControlToValida te="Cnumber"
Display="Static "
InitialValue=""
OnServerValidat e = "Validate"
ErrorMessage="P lease enter a C Number"
runat="server">
*
</asp:CustomValid ator>
</ItemTemplate>
</asp:TemplateCol umn>
<asp:TemplateCo lumn HeaderText="Sel ect" ItemStyle-HorizontalAlign ="Center">
<ItemTemplate >
<asp:CheckBox ID="chkSelectIn Progress" runat="server" />
</ItemTemplate>
</asp:TemplateCol umn>
However, the "Validate" script doesn't appear to run:
void Validate (object source,
System.Web.UI.W ebControls.Serv erValidateEvent Args e) {
e.IsValid = false;
DataGrid GridHolder;
foreach (DataListItem NewListItem in InProgressList. Items) {
GridHolder = NewListItem.Fin dControl("InPro gressGrid") as DataGrid;
foreach (DataGridItem NewGridItem in GridHolder.Item s) {
CheckBox chkSelectInProg ress =
(CheckBox)NewGr idItem.Cells[6].Controls[1];
TextBox CNumber = (TextBox)NewGri dItem.Cells[5].Controls[1];
if (chkSelectInPro gress.Checked == true) {
String Test = e.Value;
if (Test.Length > 0) {
e.IsValid = true;
}
}
}
}
}
Any suggestions?
Thanks,
Stephan.