DataBinding, Grid [Résolu]

Signaler
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
-
Messages postés
13
Date d'inscription
jeudi 9 septembre 2004
Statut
Membre
Dernière intervention
28 février 2012
-
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

Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
1
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 !!
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
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..."
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
1
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 ...
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
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..."
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
1
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 ...
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
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..."
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
1
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
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
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..."
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
1
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 !!
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
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..."
Messages postés
13
Date d'inscription
jeudi 9 septembre 2004
Statut
Membre
Dernière intervention
28 février 2012

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.
Messages postés
13
Date d'inscription
jeudi 9 septembre 2004
Statut
Membre
Dernière intervention
28 février 2012

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.