SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006
-
22 août 2006 à 09:40
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006
-
30 août 2006 à 13:35
Je souhaiterai alors afficher dans un dataGrid les informations concernant uniquement les serveurs (c'est à dire une colone pour l'ipServeur, une autre pour l'idServeur, une pour leur type et une quatrième pour leur nom) appartenant à une région dont l'idRegion est stockée dans une variable. Le problème est que je ne sait pas trop comment alimenter mon dataSet afin de ne récupérer que ces noeuds là sachant que après je souhaiterai pouvoir faire les modifier, supprimer...
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 30 août 2006 à 13:35
Bon alors j'ai trouvé quelque chose de vraiment super simple pour régler mon probleme de validation dans mon dataGrid.
Pour supprimer la propriété causesValidation = true de mon LinkButton il suffit en fait de faire:
// Sur l'évènement creation d'item du dataGrid
private
void dataGridRegions_ItemCreated(
object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
// On test si le controle crée est bien un controle de type EditItem
if (e.Item.ItemType == ListItemType.EditItem)
{
// On recupère ce controle et on passe à false la propriété cause validation
LinkButton linkbutton = (LinkButton)e.Item.Cells[0].Controls[0];
linkbutton.CausesValidation =
false;
}
}
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 22 août 2006 à 21:07
Bonjour,
Ton XML ne peut malheureusement pas être chargé dans un dataset à cause de sa structure. Tu as 2 solutions soit tu convertis ton xml en un autre XML qui soit chargeable dans un dataset. Pour réaliser ca tu passes par une transfo xslt mais c'est assez lourd, l'autre solution est de passer par le DOM tout ce qu'il y a de plus classique en utilisant le namespace System.XML et le XMLDocument :-)
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 23 août 2006 à 09:06
Bonjour Jesusonline,
Merci de m'avoir répondu mais je ne comprend pas pourquoi tu me dis que mon fichier xml ne peut pas être chargé dans un dataSet à cause de sa structure car je l'ai déjà fait pour afficher toutes mes régions dans un datagrid!!??Et donc je voulais savoir si c'etait possible d'ajouter une sorte de filtre a mon dataSet pour n'afficher que les serveurs appartenant à une région dont je connais l'idRegion dans un autre dataGrid. Effectivement on peut passant par DOM et je pense savoir comment faire ceci mais ca me parraissait un peu "lourd".
J'ai donc eu recourt à une "astuce" pour résoudre mon problème. J'ai ajouté un attribut à chaque serveur dans mon fichier xml que j'ai appelé idRegion:
<?
Voilà cette méthode fonctionne à merveille si ce n'etait que j'aurai bien aimé trouver la solution sans avoir besoin de modifier mon fichier xml de base, donc si quelqu'un à une idée ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 23 août 2006 à 09:23
Ah ? je ne savais pas que les dataset prenait les attributs comme nom de colonne :-) c'est une bonne nouvelle alors ca :p Je ne sais donc malheureusement pas comment récuperer un attribut du noeud parent :-/ Si c'est possible il doit falloir modifier la facon dont il lit le fichier mais j'avoue mon ignorance :-/
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 23 août 2006 à 10:11
Ravi de t'avoir appris quelque chose alors
Je crois que je vais garder ma soluce alors, mais si jamais je trouve je te tiens au courant .
J'ai également un autre petit problème et peut être pourras tu m'aider sinon je ferai un autre post...
Alors sur une page web j'ai pu créer différents "groupes" de controles de validation en mettant la propriété causesValidation = false à tous les boutons de mon formulaire. En fonction du bouton sur lequel je clic j'active les bons controles de validation et je teste en faisant:
requiredFieldValidator.Validate();
if
(requiredFieldValidator.IsValid)
{
}
Comme tu le vois je suis en 1.1 !!
Cela marche quasiment comme je le veux sauf que sur cette même page j'ai un dataGrid qui possède un mode d'édition et lorsque je valide mes modif (UpdateCommande) tous les controles validation de la page apparaissent et donc là c'est le drame car impossible de modifier mon dataGrid.
En gros je voudrai que mon dataGrid est la propriété CausesValidation à false mais elle n'existe pas je crois??
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 23 août 2006 à 10:30
Raaa Asp.net 2 avec la propriété ValidationGroup est vraiment magnifique :-)
Dans ton cas il va falloir s'abonner à l'event rowdatabound (ou truc du genre) rechercher le linkbutton du mode edition et le mettre le causesvalidation à false ici :-)
SupaLou
Messages postés74Date d'inscriptionsamedi 10 janvier 2004StatutMembreDernière intervention19 septembre 2006 23 août 2006 à 13:18
oui comme tu dis la propriété ValidationGroup m'aurai beaucoup servi !!
Mais là tu m'as un peu perdu je dois dire. En effet je n'est pas encore acquis la notion d'abonnement à un évènement. Je comprend bien ce qu'il faut que je fasse mais je ne vois pas du tout comment le mettre en oeuvre.
Pourrais tu me donner un petit exemple sans vouloir abuser?