Bonjour tout le monde. Dans le buts de contrôler les insertion dans une table a partir d'un detailview je dois effectuer des tests sur les champs a insérés ,c'est pour cela que j'utilise le comparevalidator par exemple pour controler 2 dates une début qui doit être avant celle de fin . Pour cela j'ai convertit le textbox ou je dois saisir la date de fin en templatefield et je lui ai ajouté le comparevalidator et je lui mets dans la propriétés controletovalidate le textbox en question mais j'arrive pas a lui indiquer le champ avec lequel il doit comparer(textbox ou je dois saisir la date de fin) même si j'ai transformé ce dernier aussi en templatefield. C'est pour cela que j'ai essayé de faire le traitement par code:
tout d'abord je suis pas sure si l'évenement data_bound est le bon c'est pour cela que j'ai ajouté un msgbox pour afficher la date de début et il l'affiche quand il veut insérer mais la valeur est vide. Donc j'arrive pas a recuperer le textbox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Partial Class ajout_user Inherits System.Web.UI.Page Protected Sub DetailsView1_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.DataBound If DetailsView1.CurrentMode = DetailsViewMode.Insert Then 'TextBox txtdatedebut = (textbox)DetailsView1.FindControl("textbox2") Dim txtdatedebut As TextBox txtdatedebut = CType(DetailsView1.FindControl("TextBox4"), TextBox) Dim validateur As CompareValidator validateur = CType(DetailsView1.FindControl("CompareValidator1"), CompareValidator) validateur.ControlToCompare = txtdatedebut.Text validateur.Operator = ValidationCompareOperator.GreaterThan MsgBox(txtdatedebut.Text) End If End Sub End Class
Merci d'avance pour vos réponse.
Partager