<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Les forums de JeBulle.net – [Vb.Net][1.1] Champ NumericUpDown et DataBinding => bogué ?]]></title>
	<link rel="self" href="https://forums.jebulle.net/feed/atom/topic/524/" />
	<updated>2006-05-12T15:52:32Z</updated>
	<generator>PunBB</generator>
	<id>https://forums.jebulle.net/topic/524/vbnet11-champ-numericupdown-et-databinding-bogue/</id>
		<entry>
			<title type="html"><![CDATA[Re: [Vb.Net][1.1] Champ NumericUpDown et DataBinding => bogué ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6297/#p6297" />
			<content type="html"><![CDATA[<p>Plus ça va et plus je suis content de ne pas en faire !!</p>]]></content>
			<author>
				<name><![CDATA[Cyberbob002]]></name>
				<uri>https://forums.jebulle.net/user/5/</uri>
			</author>
			<updated>2006-05-12T15:52:32Z</updated>
			<id>https://forums.jebulle.net/post/6297/#p6297</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[[Vb.Net][1.1] Champ NumericUpDown et DataBinding => bogué ?]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/6296/#p6296" />
			<content type="html"><![CDATA[<p>Bonjour, bonjour,</p><p>Je n&#039;attends pas de solution ici. J&#039;ouvre cette discussion uniquement pour signaler un problème sur lequel je suis tombé et qui m&#039;a causé une sacrée de perte de temps.</p><p>Ce problème concerne l&#039;utilisation du champ <strong>NumericUpDown</strong> lorsqu&#039;il est branché sur un champ d&#039;une base de données.</p><p>L&#039;environnement est le suivant : <strong>WinXp Home SP2, Visual Basic .Net 2003, FW 1.1 SP1</strong>.</p><p>Prenons un contexte d&#039;exemple pour illustrer le problème : une fenêtre est composée d&#039;une <strong>listBox</strong> et de <strong>champs</strong> (TextBox, NumericUpDown, ComboBox, etc...). La <strong>listBox</strong> contient une liste d&#039;enregistrements d&#039;une table. Les <strong>champs</strong> sont tous branchés sur des champs de la table grâce à la propriété <strong>DataBinding</strong>. Le fonctionnement est simple : si l&#039;on sélectionne un élément dans la listBox, tous les champs se mettent à jour tous seul avec les valeurs de l&#039;enregistrement courant. Je précise que les propriétés des champs ont leurs valeurs par défaut, mise à part la propriété <strong>DataBinding</strong>.</p><p>Vous en conviendrez, ce que je viens de décrire est un fonctionnement ultra classique et largement utilisé dans bon nombre d&#039;applications.</p><p>Maintenant, je prends un <strong>NumericUpDown</strong> présent parmi les objets que j&#039;ai placé dans la fenêtre. Sa propriété <strong>Minimum</strong> qui définit la valeur minimum qu&#039;il peut prendre vaut <strong>0</strong>. Je change cette valeur pour la mettre à <strong>1</strong> parce que je ne veux pas que mon utilisateur puisse mettre 0 pour ce champ. Je <strong>recompile</strong>. J&#039;ouvre la fenêtre concernée : <strong>les données ne s&#039;affichent plus dans la listBox !</strong>. C&#039;est à n&#039;y rien comprendre...et d&#039;ailleurs je n&#039;y comprends rien <img src="https://forums.jebulle.net/img/smilies/wink.png" width="15" height="15" alt="wink" />...</p><p>Le constat est le suivant : <strong>si l&#039;on définit une valeur minimale &gt; 0 d&#039;un NumericUpDown qui est branché sur un champ de base de données, il se produit un événement dont je ne connais pas la cause qui plante le chargement des enregistrements.</strong> ! Cela m&#039;a valu quelques heures de questionnement intense sur ce que j&#039;avais bien pu écrire dans mon code pour que ce problème se produise. J&#039;en suis arrivé à refaire une fenêtre entièrement et en plaçant chaque objet un par un, en recompilant à chaque modification, pour pouvoir déterminer la source du problème...et croyez-moi, quand on en arrive là, ça bouffe du temps !!</p><p>Une autre fois, j&#039;étais tombé sur ce problème mais avec la valeur maximale. Si je chargeais un enregistrement dont la valeur du champ était supérieure à la valeur max définie, il se produisait la même chose. Je trouve moyennement normal que tout se bloque lorsque cela se produit ; bref passons. Mais là, j&#039;ai vérifié, je suis certain que les valeurs que je charge sont bien comprises dans l&#039;intervalle de valeurs de mon NumericUpDown.</p><p><strong>Ma solution</strong> est simple : je laisse la propriété <strong>Minimum</strong> à <strong>0</strong> pour ne pas contrarier Vb et <strong>je gère moi-même</strong> la limite inférieure avec une toute petite procédure appelée à chaque changement de la valeur du champ.</p><p>Voilà, vive Vb ! Je serais bien sûr ravi de voir une réponse à ce message pour me montrer que j&#039;ai tord et que je me trompe royalement...</p>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2006-05-12T10:09:09Z</updated>
			<id>https://forums.jebulle.net/post/6296/#p6296</id>
		</entry>
</feed>
