Bonjour

Je cherche à mettre en place une fonction de suppression d'une zone grace au clic droit (contextMenu) mais il me faut pouvoir déteminer cette zone grace à un nom que je lui attribus : Zone1a, Zone2b.... Mes zones sont générées via un bean dans un dataGrid.

J'arrive bien à appeller une fonction avec le paramètre action mais je ne sais pas comment récupérér le nom.

Ma page jsf : j'aimerai pouvoir identifier ma zone comme je le fais avec la zone de drop.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
26
27
28
29
30
31
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
 
<rich:dataGrid value="#{craBean.zoneCras}" var="zone" columns="10"
	cellpadding="0" cellspacing="0" columnClasses="tdZone" id="ZoneDrop"
	border="0">
 
	<rich:panel rendered="#{zone.rendererDate}" style="#{zone.style}">
		<h:outputText value="#{zone.jourActiviteToString}"
			style="position:relative;top:-10px;"></h:outputText>
	</rich:panel>
	<rich:panel style="#{zone.style}#{zone.styleBG}"
		rendered="#{zone.rendererDrop}">
		<h:dataTable value="#{zone.activiteChoisie}" var="item"
			style="position:relative;top:-12px;left:-3px;">
			<h:column>
				<h:outputText value="#{item.libelleActivite}"></h:outputText>
			</h:column>
		</h:dataTable>
		<rich:dropSupport acceptedTypes="activite"
			dropListener="#{craBean.processDrop}" reRender="ZoneDrop"
			dropValue="#{zone.dropValue}">
		</rich:dropSupport>
		<rich:contextMenu event="oncontextmenu" attached="true" rendered="#{zone.rendererMenu}"
			submitMode="ajax">
			<rich:menuItem submitMode="ajax" value="Supprimer"   action="#{craBean.processAction}" ></rich:menuItem>
		</rich:contextMenu>
	</rich:panel>
</rich:dataGrid>
Le bean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package bean;
 
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.GregorianCalendar;
 
import javax.faces.event.ActionEvent;
 
import org.richfaces.component.Dropzone;
import org.richfaces.event.DropEvent;
import org.richfaces.event.DropListener;
 
import dto.Activite;
import dto.ZoneCra;
import service.ServiceActivite;
 
public class CraBean implements DropListener {
	private ArrayList<ZoneCra> zoneCras = null;
	private String paramMenu = null;
	private int nbJour = 31;
 
	public CraBean() {
		if (zoneCras == null) {
			this.initDonnees();
		}
	}
 
	public void processDrop(DropEvent event) {
		Dropzone dropZone = (Dropzone) event.getComponent();
		Activite activite = (Activite) event.getDragValue();
 
		ServiceActivite monService = new ServiceActivite(zoneCras);
		monService.addActivite(activite, dropZone.getDropValue());
		zoneCras = monService.getMesZoneDActivite();
	}
 
	public void processAction(ActionEvent event)  
	{
????
	}
 
 
 
	/**
         * Permet d'initialiser les données du planning
         */
	private void initDonnees() {
		zoneCras = new ArrayList<ZoneCra>();
		int i = 0;
 
		while (i < this.nbJour) {
			String tab[] = { "", "a", "b", "c", "d" };
			for (int j = 0; j <= 4; j++) {
				GregorianCalendar calendar = new java.util.GregorianCalendar(2008, 0, 1 + i);
				ZoneCra maZone = new ZoneCra();
 
				if (i < 10) {
					maZone.setDropValue("zone0" + i + tab[j]);
					maZone.setAfficheAct("afficheAct0" + i + tab[j]);
				} else {
					maZone.setDropValue("zone" + i + tab[j]);
					maZone.setAfficheAct("afficheAct" + i + tab[j]);
				}
				if (j != 0) {
					maZone.setJourActivite(calendar.getTime());
					switch (j) {
					case 1:
						maZone.setStyle("border-right:0px;width:60px;height:15px;");
						break;
					case 2:
						maZone.setStyle("border-left:0px;width:60px;height:15px;");
						break;
					case 3:
						maZone.setStyle("border-right:0px;width:60px;height:15px;");
						break;
					case 4:
						maZone.setStyle("border-left:0px;width:60px;height:15px;");
						break;
					}
 
					maZone.setJourActivite(calendar.getTime());
					maZone.setRendererDate(false);
					maZone.setRendererDrop(true);
					maZone.setRendererMenu(false);
				} else {
					maZone.setStyle("border:0px;width:120px;height:15px;");
					SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd MMMM");
					maZone.setJourActiviteToString(sdf.format(calendar.getTime()));
					maZone.setRendererDate(true);
					maZone.setRendererDrop(false);
					maZone.setRendererMenu(false);
				}
				this.zoneCras.add(maZone);
 
			}
			i++;
		}
	}
 
	// Getter and Setter
	public ArrayList<ZoneCra> getZoneCras() {
		if (this.zoneCras == null) {
			this.initDonnees();
		}
		return this.zoneCras;
	}
 
	public void setZoneCras(ArrayList<ZoneCra> zoneCras) {
		this.zoneCras = zoneCras;
	}
}
Merci d'avance