Bonjour à vous les amis,
Je voudrais rechercher des données correspondant à un critère (variable) défini dans un arraylist et afficher le résultat dans un tableau : Dans la classe DAOArticleFourAS400 j'ai ceci mon arraylist :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public static ArrayList<ArticleFourAS400> getListArticleFourAS400(String nomFour){
connexion = new BDConnectAS400();
reception = new AddReception();
nomFour = (String) reception.getComboFournisseur().getSelectedItem();//Un des critère de requette
String requette = "SELECT DISTINCT B33STFC.FTEFAL01.NARTEF, B33STFC.FTEFAL01.MDIREF, B33STFC.FTEFAL01.LARFEF,"+""
+" B33STFC.FTTBAL01.PXACTF, B33STFC.FTEFAL01.NFOUEF"+""
+" FROM B33STFC.FTEFAL01, B33STFC.FTTBAL01 WHERE B33STFC.FTTBAL01.NARTTF = B33STFC.FTEFAL01.NARTEF AND"+""
+" CRAYEF in ('205','208')";
Statement state;
ResultSet res;
ArrayList<ArticleFourAS400> list = new ArrayList<ArticleFourAS400>();
try{
state = connexion.getInstance().createStatement();
res = state.executeQuery(requette);
while(res.next()){
ArticleFourAS400 artFourAS400 = new ArticleFourAS400();
artFourAS400.setNARTEF(res.getString(1));
artFourAS400.setLARFEF(res.getString(3));
artFourAS400.setPXACTF(res.getString(4));
list.add(artFourAS400);}
res.close();
return list;}catch(SQLException e){
e.printStackTrace();}
return null;
} |
Dans la classe AddReception, J'ai mis en place une action dans Le Combobox de sorte la selection du combobox est le critère de recherche dans l'arrayList :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public JComboBox getComboFournisseur() {
if (ComboFournisseur == null){
ComboFournisseur = new JComboBox();
ComboFournisseur.setBounds(135, 130, 352, 22);
ComboFournisseur.setSelectedIndex(-1);
//Action pour sélectionner le numéro du fournisseur
ComboFournisseur.addActionListener(new ActionListener() {
@SuppressWarnings("null")
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object code = ComboFournisseur.getSelectedItem();
TxtNumFourniss.setText((String) fournisseur.get(code));
String numFour = TxtNumFourniss.getText();
nomFour = (String) ComboFournisseur.getSelectedItem();
txtNomFournisseur.setText(nomFour);
ArrayList<ArticleFourAS400> temp = null;
for(ArticleFourAS400 f : temp){
if(f.getNFOUEF().equals(numFour)){
Table.setModel(new ArticleFourAS400TableModel(temp));
}}}});}
return ComboFournisseur;
} |
C'est comme si je faisait une requête du genre
SELECT des données FROM arraylist WHERE critère = combobox : selected item
et le résultat sera affiché dans un tableau.
Quelqu'un pourrait me donner un coup de main ?
Partager