Outils pour utilisateurs

Outils du site


lua:listes_liees

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révisionLes deux révisions suivantes
lua:listes_liees [2021/02/24 06:54] admininfo:lua:listes_liees [2022/10/23 20:49] – supprimée - modification externe (Unknown date) 127.0.0.1
Ligne 1: Ligne 1:
  
-**Les listes liées** 
- 
-Voici un petit tuto pour élaborer un formulaire contenant 2 listes liées 
- 
-{{ :lua:produit.png?200 |}} 
- 
-Une première liste déroulante (cbxCat) contient la liste des catégories de produit 
-La deuxième liste déroulante (cbxProduit) contient la liste de produits de la catégorie sélectionnée dans la liste déroulante précédente 
- 
- 
-La première liste est chargée à partir d'une requête (faite avec l'assistant) au chargement du formulaire (ActionOnLoaded) 
- 
-<code lua> 
-function Produit:ActionOnLoaded() 
-  self:loadComboboxFromTable("categories","categorie","cbxCat") 
-end 
-</code>  
- 
-La deuxième liste est  chargée lorsque la sélection de la première liste change (ActionOnChange) 
-On récupére la catégorie sélectionnée dans la propriété "text" de la la liste déroulante "cbxCat" 
-On construit la requête en conséquence 
-Puis on charge la liste déroulante 
- 
-<code lua> 
-function Produit:cbxCatActionOnChange() 
-  local dataset=nsbase.datasetCreate("SQLQuery") 
-  local cat=self.setProperty('cbxCat.text') 
-  dataset.sql="select distinct produit from produits where categorie='" .. cat .. .. "' order by 1" 
-  self.setProperty('cbxProduit.items',dataset.getItems('produit')) 
-end 
-</code>  
- 
-Voici le code complet : 
- 
-<code lua> 
-function Produit:ActionOnLoaded() 
-  self:loadComboboxFromTable("categories","categorie","cbxCat") 
-end 
- 
-function Produit:loadComboboxFromTable(tableName,fieldName,combobox) 
-  local dataset=nsbase.datasetCreate("SQLQuery") 
-  dataset.sql='select distinct ' .. fieldName .. ' from ' .. tableName .. ' order by 1' 
-  self.setProperty(combobox .. '.items',dataset.getItems(fieldName)) 
-end    
- 
-function Produit:cbxCatActionOnChange() 
-  local dataset=nsbase.datasetCreate("SQLQuery") 
-  local cat=self.setProperty('cbxCat.text') 
-  dataset.sql="select distinct produit from produits where categorie='" .. cat .. .. "' order by 1" 
-  self.setProperty('cbxProduit.items',dataset.getItems('produit')) 
-end 
-</code> 
lua/listes_liees.txt · Dernière modification : 2022/10/24 12:15 de admin