DataBinding, Grid

Résolu
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 - 1 avril 2008 à 08:50
adjanoh Messages postés 13 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 28 février 2012 - 23 avril 2008 à 12:36
J'ai besoins d'aide je craqueeeee
Voila j'ai une datagridview ou il a un DataSource pas de soucy je vois les champs de ma table.
J'ai des autants de TextBox que de champs ce trouvant dans ma DataGridView est chacun est liée grace au DataBinding.
Donc quand je selectionne un champs dans ma DataGridView les TextBox changes bien en fonction de la ligne de ma DataGridView

Maintenant ce que je voudrais faire c pouvoir enregistrer "instantanement" dès que j'ajoute des données dans une des mes TextBox. C'est a dire pouvoir voir en live mon text s'afficher dans ma DataGridView. Je n'y arrive pas sauf quand je met dans l'evenement click de mes TextBox un EndEdit() puis un Update et enfin un Refresch() de ma Grid. Mais quand je vais ca il me rafraichie aussi mais TextBox du coup les premier caractere que je tappe dans mes TextBox sont effacé :(

Je sais plus quoi faire

En resumé je veux pouvoir avoir:
    Une liste des mes enregistrements dans une Grid (peu importe ce quelle grille)
    Les TextBox correspondants au mes colonnes
    Pouvoir afficher en "live" les données que je tappe dans une textbox dans ma Grid.

Merci :)

12 réponses

Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
7 avril 2008 à 15:55
Voila comment je procéde c'est pas super propre mais je ne vois pas comment faire autrement ...

if (((
TextBox)sender).Text ==
string.Empty)
   Txt =
"";

else
   Txt = ((
TextBox)sender).Text;

this.rECORDSBindingSource.EndEdit();
((
TextBox)sender).Text = Txt;
((
TextBox)sender).SelectionStart = ((
TextBox)sender).Text.Length;

Voila  En tout cas un grand Merci a toi Arthenius pour m'avoir aider !!
3
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
3 avril 2008 à 14:59
regarde ce source il peut peut etre t'aider : http://www.csharpfr.com/code.aspx?ID=27738

currencymanager est ton ami

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
7 avril 2008 à 10:28
Merci pour ta reponse mais ce n'est pas ce que je recherche. Ton exemple est bien mais ce que je voudrais c'est pouvoir selectionner un ligne de la grid, quelle apparaisse dans les TextBox respectif (ce que fais ton appli) mais ce que je voudrais c que dès que l'on change le contenu de la textbox que ce dernier puisse s'afficher directement dans la datagrid (sans pour autant etre mis a jour dans la base de donnée). On prend l'evenement OnChanged des textbox et on Update la Grid ... enfin c ce que je voudrais faire ...
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
7 avril 2008 à 10:38
en faidsaint un Cuurencymanager.EndCurrentEdit();

les donnees saisie dans tes textbox seront mis a jour dans le dataset
regarde bien comment est gerer le currencymanager dans mon exemple

et sur ton Onchanged place un MonCurrencyManager.EndCurrentEdit();

et cela devrait faire ce que tu souhaite :)

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
7 avril 2008 à 11:26
Merci pour ta rapidité !
Je viens de tester dans mon evenement TextChanged ... le probleme que j'ai est qu'il efface le premier caractere que je met, par contre les caracteres suivant (dans le meme textbox) il n'y a pas de soucie, je peut en ajouter tant que je veux...
Je pense que c'est du au Binding il doit certainement reloader les anciennes données au debut, quand le focus viens d'etre mis sur le textbox ...
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
7 avril 2008 à 11:34
bizarre ....

peut etre un pb de placement du binding ... ou autres ... ??

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
7 avril 2008 à 11:45
Comment peut-on mal placer un binding ?
C'est VS2008 qui c'est ocupé de me creer un AdapterManager, un BindingSource, est j'ai mis un "BindingSource" sur chaque textbox  ...
:'( je vois pas comment faire pour resoudre mon probleme pfff
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
7 avril 2008 à 11:59
ha je pensais que tu l'avais binder en le codant.....

effectivement du coup ton binding doit etre correct....
la comme ca je ne vois pas de raison a ton souci ...

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
Cisaks Messages postés 65 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 25 mars 2010 1
7 avril 2008 à 13:39
j'ai un autre soucie mais ca je pense que tu pourras y repondre assez facilement. Pourquoi lorsqu'un textbox est vide je dois absoluement mettre une valeur à l'interieur pour le valider ? Pourquoi par defaut il ne ce met pas à "null" ?
En ce qui concerne mon premier probleme je suis entrain de le decortiquer je vais trouver pourquoi ca fonctionne pas !!
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
7 avril 2008 à 14:02
pour le textbox ca doit dependre de la strucuture de ta table, elle accepte peut etrre pas les null pour ce champs la ?

<hr />Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
0
adjanoh Messages postés 13 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 28 février 2012
23 avril 2008 à 12:03
Envoyé par Cisaks :
Donc quand je selectionne un champs dans ma DataGridView les TextBox changes bien en fonction de la ligne de ma DataGridView
Pourrais-tu me montrer le code qui te permet de faire ça ? Je désire faire la même chose mais les valeurs de mes texbox ne changent pas.
Merci d'avance
-----------------------------------------------------------------
La chance aide parfois mais le travail aide toujours.
0
adjanoh Messages postés 13 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 28 février 2012
23 avril 2008 à 12:36
Envoyé par Cisaks
Donc quand je selectionne un champs dans ma DataGridView les TextBox changes bien en fonction de la ligne de ma DataGridView
Pourrais-tu me montrer cette partie de ton code ? Je suis entrain de faire la même chose mais les valeurs de mes texbox ne changent pas

Merci d'avance

-----------------------------------------------------------------
La chance aide parfois mais le travail aide toujours.
0
Rejoignez-nous