Hallo ihr Alle,
ich poste hier Bilder, damit es übersichtlicher ist.
-
Problem - Es geht darum, dass wenn ich auf ausführen drücke und den Tag markiere, welche ich löschen möchte, wird zwar gelöscht, aber ich muss den Browser aktualisieren damit ich aktuelle Tabelle bekomme.
-
Problem - Wenn ich in der Tabelle auf lösche Link gehe, kommt Dialog wie es in dem Bild ist, aber wird nicht ausgelesen name des Tags und mit verknüpfende Anzahl der Produkte. wenn ich dort auch auf löschen gehe, wird zwar das richtige Produkt gelöscht, aber muss ich wieder Browser aktualisieren damit ich aktuelle Tabelle bekomme
Controller Klasse hat
**@ManagedBean(name = “tagcontroller”) **(man hat mit empfohlen, dass ich statt @ManagedBean @Named verwenden sollte. Ich mache das noch in nähere Zukunft)
@ViewScoped
[XML]
<ui:composition template="…/index.xhtml"
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:p=“http://primefaces.org/ui”
xmlns:c=“http://java.sun.com/jsp/jstl/core”
xmlns:fn=“http://java.sun.com/jsp/jstl/functions”>
<ui:define name="content">
<div class="row">
<div class="col-lg-8">
<h:form id="tags">
<div class = "row">
<div class = "col-lg-2">
<h:outputLabel value="Markierte" />
</div>
<div class = "col-lg-2" style = "align:left">
<p:selectOneMenu id="aktion" value="#{tagcontroller.selectedAction}" >
<f:selectItem itemLabel="Aktion" itemValue="#{null}" noSelectionOption="true" />
<f:selectItem itemLabel = "löschen" itemValue = "delete" />
</p:selectOneMenu>
</div>
<div class = "col-lg-1">
<p:commandButton value = "ausführen" action = "#{tagcontroller.doAction()}" update="tagTable"></p:commandButton>
</div>
</div>
<p:dataTable id="tagTable" editable="true" editMode="cell"
var="tag"
widgetVar="tags" scrollable="true"
maxScrollHeight="500" resizableColumns="true"
rowStyleClass="odd,even" value="#{tagcontroller.tags}" rowKey="#{tag.id}" selection = "#{tagcontroller.selectedTags}">
<p:column selectionMode= "multiple" headerText="Aktion" style = "width:5em" />
<p:column headerText="Name" >
<h:outputText value = "#{tag.name}" />
</p:column>
<p:column headerText="Verknüpfte Produkte" >
<div align = "center">
<h:outputText value="#{spmarticlecontroller.getSpmArticleByArticleTagId(tag.id).size()}"/>
</div>
</p:column>
<p:column headerText="Aktionen" >
<div align = "center">
<h:link outcome="/spm/tag_detail.xhtml" target="_blank">
<i class="fa fa-pencil"></i>
<f:param name="id" value="#{tag.id}" />
</h:link>
<h:commandLink actionListener="#{tagcontroller.setTagToDelete(tag)}" update = ":deleteDlg" onclick="PF('tagToDeleteDlg').show();">
<f:ajax execute="@form" render="@none" />
<i class="fa fa-trash"></i>
</h:commandLink>
</div>
</p:column>
</p:dataTable>
</h:form>
<ui:include src="tag_deleteConfirmDlg.xhtml" />
</div>
</div>
</ui:define>
</ui:composition>[/XML]
[XML]
<ui:composition
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:h=“http://java.sun.com/jsf/html”
xmlns:f=“http://java.sun.com/jsf/core”
xmlns:ui=“http://java.sun.com/jsf/facelets”
xmlns:p=“http://primefaces.org/ui”
xmlns:c=“http://java.sun.com/jsp/jstl/core”>
<p:dialog widgetVar=“tagToDeleteDlg” modal=“true” width = “600” height=“300” showEffect=“fade” render=“not null #{tagcontroller.tagToDelete}”>
<p:outputPanel id=“deleteDlg” style=“text-align:center;”>
<h:outputText value = "Sind Sie Sicher, dass Sie den Tag "/>
<h:outputText value = “#{tagcontroller.tagToDelete.name}”/>
<h:outputText value = "löschen möchten ? dieser Tag ist mit "/>
<h:outputText value = “#{spmarticlecontroller.getSpmArticleByArticleTagId(tagcontroller.tagToDelete.id).size()}”/>
<h:outputText value = “Producte verknüpft”/>
<p:commandButton value=“Löschen bestätigen” actionListener = “#{tagcontroller.deleteArticleTagDelete(tagcontroller.tagToDelete.id)}” update = “tags” onclick = “PF(‘tagToDeleteDlg’).hide()” />
<p:commandButton value=“Abbrechen” onclick=“PF(‘tagToDeleteDlg’).hide()” />
</p:outputPanel>
</p:dialog>
</ui:composition>
[/XML]