Bom dia a todos,
estou implementando um módulo para upload de fotos em um sistema,
tudo esta funcionando, faço o upload, salvo o arquivo e guardo seu nome no banco
para ppoder acessar…
mas eu preciso exibir essa imagem em um dataGRid assim q faço seu upload…
aí que esta o problema,quando clico no botão para enviar o grid é preenchido com o novo registro
mas a foto nao aparece, ela só aparece se eu fizer login novamente…
alguem sabe oq pode resolver ?
Vc está fazendo update vai ajax? Coloca apenas es código aí.
<p:fileUpload auto="true" label="Selecionar..."
allowTypes="*.jpg;*.png; *.bmp; *.awg" multiple="true"
description="Imagem" update="dtgImagem frmUploadImagem frmPanelDtg imgObra"
ileUploadListener="#{controleUploadBean.fileUploadAction}">
</p:fileUpload>
<p:dataGrid id="dtgImagem" var="img" value="#{imagemBean.listImagem}" columns="3"
rows="12" paginator="true" effect="true"
paginatorTemplate="{CurrentPageReport} {PageLinks}
{FirstPageLink} {LastPageLink}
{PreviousPageLink} {NextPageLink}">
<p:column>
<p:panel header="Imagens" style="text-align:center">
<h:form id="frmPanelDtg">
<h:panelGrid columns="1" style="width:100%">
<p:graphicImage id="imgObra" value="#{img.caminho_imagem}"
tyle="max-height: 100px; max-width: 120px"/>
<p:separator style="width: 100%; height: 6px"/>
<h:outputText value="#{img.descricao}" styleClass="labelPadrao"/>
</h:panelGrid>
</h:form>
</p:panel>
</p:column>
</p:dataGrid>
O código do upload e do datagrid, estou passando tudo via ajax
Ao invés de dar update no dtgImagem, mande um update no form em que ele está.
Veja c funciona. Se estiverem no mesmo form, tente fazer por form separados.
Para chamar um outro form faça a chamada com : na frente, tipo: update=":formDataGrid"
<p:dataGrid id="dtgImagem" var="img" value="#{imagemBean.listImagem}" columns="3"
rows="12" paginator="true" effect="true"
paginatorTemplate="{CurrentPageReport} {PageLinks}
{FirstPageLink} {LastPageLink}
{PreviousPageLink} {NextPageLink}">
<p:column>
<p:panel header="Imagens" style="text-align:center">
<h:form id="frmPanelDtg">
<h:panelGrid columns="1" style="width:100%">
<h:form id="frmGpcImagem">
<p:graphicImage id="imgObra" value="#{img.caminho_imagem}"
style="max-height: 100px; max-width: 120px"/>
</h:form>
<p:separator style="width: 100%; height: 6px"/>
<h:outputText value="#{img.descricao}" styleClass="labelPadrao"/>
</h:panelGrid>
</h:form>
</p:panel>
</p:column>
</p:dataGrid>
fiz isso cara, e continua do mesmo jeito o.õ