Modifier un champs d'un texfield apres recherche dans access

fartman2001 Messages postés 22 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 24 février 2006 - 10 mai 2005 à 21:19
cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006 - 11 mai 2005 à 16:13
Bonjour, voila je travaille en AWT, et j'aimerais après une recherche
pouvoir modifier les elements de mon textfield pour modifier mas base
de donner accès :

je sais qu'il faut utiliser : public void textValueChanged(TextEvent txt) et TextListener mais comment ????



Voila mon code au niveau du du panneau de modification :

package magasin;



import java.awt.*;

import java.awt.event.*;

public class PanModifCli extends Panel implements ActionListener

{

Panel pQuestion,donee,pmodif;

String []tab=new String[10];

Button go = new Button("Rechercher");

Button Del = new Button("Modifier");

TextField tf = new TextField();

Label etatl=new Label("EN COURS");

String[] liste = {"numeros de
client:","nom:","prenom:","CP:","Ville:","rue","num","telephone:","fax","numeros
de tva:"};

String champs[]={"","","","","","","","","",""};

Titre t1=new Titre(liste);

Titre t2=new Titre(champs);

PanneauData pdta =new PanneauData(t1,t2);

Frame parent;



public PanModifCli()

{}



public PanModifCli(Frame parent){

this.parent=parent;

GridLayout gl = new GridLayout(4,1,2,2);

setLayout(gl);

pdta=new PanneauData(t1,t2);

pQuestion = new Panel();

donee = new Panel();

Label l = new Label("Numero recherché : ");

l.setForeground(Color.black);

Font f = new Font("Courier", Font.BOLD, 40);

l.setFont(f);

pQuestion.add(l);

pQuestion.add(tf);

pQuestion.add(go);

pQuestion.add(Del);

donee.add(etatl);

go.addActionListener(this);

Del.addActionListener(this);

setBackground(Color.white);

add(pQuestion);

add(pdta);

add(donee);


etatl.setForeground(Color.red);


}



public void actionPerformed(ActionEvent e)

{

String b =((String)e.getActionCommand());

int nclient=Integer.parseInt(tf.getText());

ClientDB cl=GestCli.rechnum(nclient);

remove(pdta);

if(cl!=null)

{ pdta=new
PanneauData(t1,cl);



etatl.setForeground(Color.red);


add(pdta);

add(donee);

etatl.setText("");

}

else etatl.setText("CLIENT NON TROUVE");

parent.show();



if (b.equals("Modifier"))

{

System.out.println("ok");



GestCli.miseAJour();

etatl.setText("CLIENT MODIFIE");

remove(pdta);

donee.add(etatl);

add(donee);

parent.show();

}

}

public void modifcli(ClientDB c)

{

PanneauData pd = new PanneauData();

int nclient=Integer.parseInt(tf.getText());

c.setNumcli(nclient);

c.setNom(tab[1]);

c.setPrenom(tab[2]);

c.setRue(tab[3]);

c.setNum(tab[4]);

c.setCP(tab[5]);

c.setLocalite(tab[6]);

c.setTel(tab[7]);

c.setFax(tab[8]);

c.setNumtva(tab[9]);

c.modifier();

}

}

-----------------------------------------------------------------------------------------------

Et mon PanneauData :

package magasin;



import java.awt.*;

import java.util.*;

import java.awt.event.*;



public class PanneauData extends Panel {

protected String[] label,ligne;

protected TextField[] tabFields;

String []tab=new String[10];

protected Label lrech[],etat,titre;

protected int l;

public PanneauData(){

}



public PanneauData(Affichable aff )

{

ligne = aff.getRens();

l=ligne.length;

tabFields = new TextField[l];

GridLayout gl = new GridLayout(1,l,2,2);

setLayout(gl);

for(int i = 0;i<l;i++){

tabFields[i]= new TextField(ligne[i]);

add(tabFields[i]);

}

}



public PanneauData(Affichable affl, Affichable afft ){

label=affl.getRens();

ligne = afft.getRens();

l=ligne.length;

tabFields = new TextField[l];

lrech=new Label[l];

GridLayout gl = new GridLayout(l,6,12,2);

setLayout(gl);

for(int i = 0;i<l;i++){

lrech[i]=new Label(label[i]);

lrech[i].setForeground(Color.pink);

lrech[i].setFont(new Font("Tahoma", Font.PLAIN+Font.BOLD, 15));

add(lrech[i]);

tabFields[i]= new TextField(ligne[i]);

add(tabFields[i]);



}

}

public String[] getValeurs (){

String[] ligne2 = new String[l];

for(int i=0;i<l;i++){

ligne2[i]=tabFields[i].getText();

}

return ligne2;

}



}

----------------------------------------------------------------------------------------------



Pouvez m'aider à voir plus clair, merci beaucoup !!!!!

3 réponses

cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
11 mai 2005 à 13:43
En fait des que la valeur change, tu veux enregister la modif ds ta base, c bien çà?

cid019
0
fartman2001 Messages postés 22 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 24 février 2006 1
11 mai 2005 à 15:51
oui dès que l'utilisateur change un champs et appuie sur modifier
0
cid019 Messages postés 237 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 11 juillet 2006
11 mai 2005 à 16:13
Dans ce cas rajoute le TextListener dans la liste des implements (implements ActionListener, TextListener).
Apres utilises la methode TextValueChanged que tu utiliseras de la meme facon que le actionPerformed. Lorsque le texte sera modifié, l'evenement sur le TextValueChanged sera activé.

cid019
0
Rejoignez-nous