A
aurelie
Hello,
I have a problem with one datagrid and a CompareValidator :
I have a datagrid, filled with textbox, and a button. I expect integer
in my textbox, so I want to test data before to process with a
validator.
I build my dategrid in a function called in the Page.Load().
----------------------------------------------------------------------------------
TemplateColumn textBoxColumn = new TemplateColumn();
textBoxColumn.HeaderText = "";
MainDataGrid.Columns.Add(textBoxColumn);
int j = 0;
foreach(DataGridItem dgi in MainDataGrid.Items)
{
// TextBox Warning
TextBox warningTextBox = new TextBox();
warningTextBox.ID = "warningTextBox"+j;
warningTextBox.Width = 50;
warningTextBox.EnableViewState = true;
dgi.Cells[0].Controls.Add(warningTextBox);
// Validator
CompareValidator warningValidator = new CompareValidator();
warningValidator.ControlToValidate = warningTextBox.ID;
warningValidator.Operator = ValidationCompareOperator.DataTypeCheck;
warningValidator.Type = ValidationDataType.Integer;
warningValidator.Text = "error";
warningValidator.Display = ValidatorDisplay.Dynamic;
warningValidator.ID = "warningValidator"+j;
dgi.Cells[0].Controls.Add(warningValidator);
j++;
}
----------------------------------------------------------------------------------
Next in the Button_Click(), I test data validity. But there is no
message and the function isValid always equals to true.
----------------------------------------------------------------------------------
CompareValidator warningValidator =
(CompareValidator)MainDataGrid.Cells[0].Controls[1];
if (warningValidator != null)
{
warningValidator.Validate();
if (warningValidator.IsValid)
{
the next.....
}
}
I have a problem with one datagrid and a CompareValidator :
I have a datagrid, filled with textbox, and a button. I expect integer
in my textbox, so I want to test data before to process with a
validator.
I build my dategrid in a function called in the Page.Load().
----------------------------------------------------------------------------------
TemplateColumn textBoxColumn = new TemplateColumn();
textBoxColumn.HeaderText = "";
MainDataGrid.Columns.Add(textBoxColumn);
int j = 0;
foreach(DataGridItem dgi in MainDataGrid.Items)
{
// TextBox Warning
TextBox warningTextBox = new TextBox();
warningTextBox.ID = "warningTextBox"+j;
warningTextBox.Width = 50;
warningTextBox.EnableViewState = true;
dgi.Cells[0].Controls.Add(warningTextBox);
// Validator
CompareValidator warningValidator = new CompareValidator();
warningValidator.ControlToValidate = warningTextBox.ID;
warningValidator.Operator = ValidationCompareOperator.DataTypeCheck;
warningValidator.Type = ValidationDataType.Integer;
warningValidator.Text = "error";
warningValidator.Display = ValidatorDisplay.Dynamic;
warningValidator.ID = "warningValidator"+j;
dgi.Cells[0].Controls.Add(warningValidator);
j++;
}
----------------------------------------------------------------------------------
Next in the Button_Click(), I test data validity. But there is no
message and the function isValid always equals to true.
----------------------------------------------------------------------------------
CompareValidator warningValidator =
(CompareValidator)MainDataGrid.Cells[0].Controls[1];
if (warningValidator != null)
{
warningValidator.Validate();
if (warningValidator.IsValid)
{
the next.....
}
}