List

Renseigner par SDK des listes avec regroupements

Il est possible de présenter une liste avec des groupements, des catégories. Le regroupement des entrées de la liste permettra une meilleure lisibilité, une meilleure ergonomie dans l’accès à l’information.

Les groupes seront présentés en gras dans la liste (non cliquables) et les options seront présentées sous les groupes.

Implémentation

Si dans un cas classique on construit des options, il faut ici construire des optiongroups; des options peuvent être ajoutées dans chaque option group. Il faut donc effectuer un setList de la collection d’optiongroups.

Info

Option et OptionGroup implémentent IOption.

Exemple extrait d’une classe héritant de BaseDocumentExtension, déclarée sur un formulaire :

public boolean onAfterLoad() {
	ArrayList<IOption> cOptionWithGroups = new ArrayList<>();
	
	OptionGroup optionGroup1 = new OptionGroup("group1", "Group n°1");
	OptionGroup optionGroup2 = new OptionGroup("group2", "Group n°2");
	
	optionGroup1.addOption(new Option("SubOption1", "Sous option n°1"));
	optionGroup1.addOption(new Option("SubOption2", "Sous option n°2"));
	optionGroup1.addOption(new Option("SubOption3", "Sous option n°3"));
	
	optionGroup2.addOption(new Option("SubOption4", "Sous option n°4"));
	optionGroup2.addOption(new Option("SubOption5", "Sous option n°5"));
	optionGroup2.addOption(new Option("SubOption6", "Sous option n°6"));
	
	cOptionWithGroups.add(optionGroup1);
	cOptionWithGroups.add(optionGroup2);
	
	getWorkflowInstance().setList("MonChampListe", cOptionWithGroups);
	
	return super.onAfterLoad();
}

Aperçu

How To Fill Grouped Lists 1 How To Fill Grouped Lists 1

Source : https://wiki.myvdoc.net/xwiki/bin/view/Dev+Floor/HowToFillGroupedLists