2016-07-21 21 views
-1

Ich möchte eine Liste der Beschriftung/Eingabe mit <p:dataGrid> anzeigen. Mein Code ist so einfach, aber ich kann nicht das erwartete Ergebnis erhalten.p: dataGrid richtet mehrere Spalten nicht aus

Dies ist mein Code:

<p:dataGrid columns="2" value="#{scriptManagerForm.params}" var="conf"> 
    <p:column> 
     <p:outputLabel value="#{conf.name}" /> 
    </p:column> 
    <p:column> 
     <p:inputText value="#{conf.value}" required="true" /> 
    </p:column> 
</p:dataGrid> 

Und das ist das Ergebnis, dass ich jetzt bekommen:

results obtained

Und das ist, was ich bekommen müssen:

expected

+0

Wo haben Sie gelesen? 'P: datagrid' unterstützt das Spalten-Tag? Sie Code ist in der Tat einfach, aber so falsch ... – Kukeltje

Antwort

0

Sie benötigen die Eigenschaft layout = "gr id“in der Datagrid-

+0

Nein, nach dem Hinzufügen, das Problem bleibt – mustafa918

+0

, wenn Sie das Layout-Raster, die erste Komponente, die es nimmt wird es als eine Spalte nehmen, und wenn die Anzahl der Spalten ist gefüllt, wird es den Zeilenumbruch tun, Wenn Sie Tags oder Spalten-Tags verwenden, könnte das Problem sein, versuchen Sie, entfernen Sie die Spalten-Tags und nur die Ausgabe-Label und die Eingabe Text tagas –

+0

danke für Kommentare, aber den gleichen Fehler besteht fort. – mustafa918

0

Ich bin sicher, dass Sie benötigen einen panelGrid anstelle eines dataGrid.

Inside Sie können auch mit <p:row> und <p:column> arbeiten, wenn Sie möchten.

http://www.primefaces.org/showcase/ui/panel/panelGrid.xhtml

Ich hoffe, das hilft!

+0

Nein, ich habe versucht ** panelgrid ** innerhalb ** datalist ** und das funktioniert nicht – mustafa918

+0

Ich benutze @DataGrid, weil die Anzahl der @ ist dynamisch – mustafa918

+0

auch nicht gelöst, wollen Sie das Ergebnis sehen? – mustafa918