Comment valider simplement un update de gridview [Résolu]

Signaler
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010
-
Messages postés
345
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
24 avril 2010
-
Bonjour,


Je travaille en ASP.NET 2 langageVB et VS2005


J'ai un GridView "MonGridView " comportant des champs décimaux.  Il est généré automatiquement avec une AccessDatasource.


Une colonne "Modifier, Mettre à Jour, annuler".


Comment effectuer une validation simple des champs des TextBox (Champ "" par exemple), sans écrire du code qui pourrait être assez long pour un plus grand nombre de colonnes?


J'ai écrit ça pour un seul champ:


Je propose de convertir le champ de la textBox de la cellule 2 en"Décimal"<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>



 






 

Protected

Sub MonGridView _RowUpdating1(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles MonGridView.RowUpdating









 







      
Dim ro As GridViewRow = MonGridView.Rows(gvOpt.EditIndex)






      
Dim tb As TextBox = CType(ro.Cells(2).Controls(0), TextBox)






       Try

  



          Dim tarif Asdecimal
= CType (tb.Text,Decimal) 'conversion échoue si la textbox est vide






          lbMessage.Text = ""






       

Catch
ex As Exception






                lbMessage.Text = ex.Message






                tb.BackColor = Color.LightPink






                e.Cancel = True






               
Exit
Sub







       
End
Try







 







       
End
Sub







 






Que faire de plus simple ? N'y a-t-il pas une propriété à assigner quelquepart ?




Merci des tuyaux @+Gilles

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Sur un boundField il faut coder un petit peu, ta solution n'est donc pas trop mauvaise mais tu pourrais utiliser

Decimal nb;
if (Decimal.TryParse(latextbox.text, out nb)){
  // ici c'est OK
}

L'autre solution est d'utiliser des templatefield avec un RequiredFieldValidator

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

utilises un RequiredFieldValidator

<hr />Cyril - MVS - MCP
Messages postés
410
Date d'inscription
dimanche 1 février 2004
Statut
Membre
Dernière intervention
8 mai 2010

oui, je connais bien ce validateur, mais où dois-je le mettre? dois-je en mettre un par textbox?, dois-je le générer dynamiquement? mais alors quand décencher la validation? ici on est dans un update d'une boundfield
Bref je ne vois pas bien comment me servir d'un RequiredFieldValidator ...Si tu peux préciser ton idée..
@+G
Messages postés
345
Date d'inscription
jeudi 15 février 2007
Statut
Membre
Dernière intervention
24 avril 2010

  Salut comment lier  un RequiredFieldValidator à un champ textbox (en mode édit) dans un gridview ?