Bonjour,

j'ai un problème avec ma sélection dans ma datatable

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
<?xml version='1.0' encoding='UTF-8' ?>
 
    <h:form id="form_DTServiceProviders">
 
 
            <!-- DATATABLE SERVICE PROVIDER -->
            <p:dataTable id="dt_ServiceProviders" var="serviceProvider" 
                         value="#{serviceProvidersController.listServiceProviders}" 
                         rows="20" paginator="true" rowsPerPageTemplate="10,20,50,100"
                         emptyMessage="#{msg['dt.service.provider.empty']}" 
                         styleClass="datatable" tableStyle="width:auto">
 
                <!-- COLUMN NAME -->
                <p:column headerText="#{msg['dt.service.provider.header.name']}" 
                          sortBy="#{serviceProvider.name}" 
                          filterBy="#{serviceProvider.name}"
                          styleClass="cell title black" >
                    <h:outputText value="#{serviceProvider.name}" />
                </p:column>  
 
                <!-- COLUMN VIEW -->
                <p:column styleClass="noborder nobackground checkboxcell">
 
                    <p:commandButton update=":formContent:form_DTServiceProviders:dlg_ViewServiceProvider" 
                                     oncomplete="PF('dlg_ViewServiceProvider').show()" 
                                     icon="ui-icon-search" 
                                     title="View">
                        <f:setPropertyActionListener value="#{serviceProvider}" 
                                                     target="#{serviceProvidersController.selectedServiceProvider}" />
                    </p:commandButton>
 
                </p:column>
 
            </p:dataTable>
        </div>
 
        <!-- DIALOG VIEW -->
        <p:dialog header="#{msg['dlg.service.provider.view.header']}"
                  widgetVar="dlg_ViewServiceProvider" 
                  dynamic="true" resizable="false" closable="false" 
                  modal="true" appendTo="@(body)">
            <p:outputPanel id="dlg_ViewServiceProvider" >
                <p:panelGrid columns="2" rendered="#{not empty serviceProvidersController.selectedServiceProvider}">
                    <h:outputText value="#{msg['dlg.service.provider.view.name']}" />
                    <h:outputText value="#{serviceProvidersController.selectedServiceProvider.name}" />
                    <h:outputText value="#{msg['dlg.service.provider.view.notificationUrl']}" />
                    <h:outputText value="#{serviceProvidersController.selectedServiceProvider.notificationUrl}" />
                    <h:outputText value="#{msg['dlg.service.provider.view.ip']}" />
                    <h:outputText value="#{serviceProvidersController.selectedServiceProvider.ip}" />
                </p:panelGrid>
                <div align="right">
                    <p:commandButton icon="ui-icon-circle-close" value="Cancel"
                                     onclick="PF('dlg_ViewServiceProvider').hide()"/>
                    <p:commandButton value="#{msg['dlg.service.provider.btn.ok']}" 
                                     onclick="PF('dlg_ViewServiceProvider').hide()"  
                                     icon="ui-icon-circle-check"/> 
                </div>
            </p:outputPanel>
        </p:dialog>  
 
    </h:form>
</ui:composition>

mon controller :

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
@Controller
@ManagedBean
@ViewScoped
public class ServiceProvidersController {
 
 
     * List ServiceProviders
     */
    private List<ServiceProvider> listServiceProviders;
    /**
     * Selected ServiceProvider
     */
    private ServiceProvider selectedServiceProvider;
 
    /**
     * Constructor by default
     */
    public ServiceProvidersController() {
    }
 
    /**
     * Method PostContruct
     */
    @PostConstruct
    public void init() {
        selectedServiceProvider = new ServiceProvider();
        listServiceProviders = new ArrayList<ServiceProvider>();
        listServiceProviders = nsmAdminService.findServiceProviders();
    }
 
 
    public List<ServiceProvider> getListServiceProviders() {
        return listServiceProviders;
    }
 
    public void setListServiceProviders(List<ServiceProvider> listServiceProviders) {
        this.listServiceProviders = listServiceProviders;
    }
 
    public ServiceProvider getSelectedServiceProvider() {
        System.out.println("" + selectedServiceProvider.getName());
        return selectedServiceProvider;
    }
 
    public void setSelectedServiceProvider(ServiceProvider selectedServiceProvider) {
        this.selectedServiceProvider = selectedServiceProvider;
    }
 
    }


La sélection est toujours null :'(