I'm having trouble with
Code: Select all
<p:ajax event="change" listener="#{sheetController.cellChangeEvent}">
Code: Select all
sheet.getUpdates()
Note: other events (e.g. rowSelect and columnSelect) work just fine.
I'm using the same code as Primefaces Extensions showcase:
controller: https://github.com/primefaces-extension ... oller.java
model: https://github.com/primefaces-extension ... odel/sheet
xhtml page:
Code: Select all
<p:importEnum type="org.primefaces.extensions.showcase.model.sheet.AssetType" var="AssetType" />
<p:importEnum type="org.primefaces.extensions.showcase.model.sheet.PlatformType" var="PlatformType" />
<pe:sheet id="sheet" widgetVar="sheetWidget" value="#{sheetController.assets}" var="row"
height="400" rowKey="#{row.assetId}" fixedCols="2" fixedRows="3" showRowHeaders="true"
resizableCols="true" resizableRows="true" filteredValue="#{sheetController.filteredAssets}"
sortBy="#{row.assetId}" sortOrder="ascending" readOnly="false" rowStyleClass="#{row.purchasePrice gt 0 ? 'positive' : 'negative'}">
<p:ajax event="change" listener="#{sheetController.cellChangeEvent}" />
<f:facet name="header">
<h:outputText value="Assets" />
</f:facet>
<f:facet name="footer">
<h:outputText id="footer" value="#{sheetController.filteredAssets.size()} Records" />
</f:facet>
<pe:sheetcolumn headerText="Id (read-only)"
readOnly="true"
value="#{row.assetId}"
sortBy="#{row.assetId}"
colWidth="150"
filterBy="#{row.assetId}" />
<pe:sheetcolumn headerText="Type" value="#{row.assetType}" colWidth="100"
sortBy="#{row.assetType}" filterBy="#{row.assetType}"
filterOptions="#{sheetOptionProducer.assetTypes}"
colType="dropdown"
selectItems="#{AssetType.ALL_VALUES}" />
<pe:sheetcolumn headerText="Platform" value="#{row.platform}" colWidth="100"
sortBy="#{row.platform}" filterBy="#{row.platform}"
filterOptions="#{sheetOptionProducer.platformTypes}"
colType="autocomplete"
selectItems="#{PlatformType.ALL_VALUES}"
autoCompleteStrict="false"
autoCompleteVisibleRows="4" />
<pe:sheetcolumn headerText="Arch" value="#{row.platformArch}" readOnly="true"
colWidth="100" sortBy="#{row.platformArch}"
filterBy="#{row.platformArch}"
filterOptions="#{sheetOptionProducer.archTypes}" />
<pe:sheetcolumn headerText="Active" value="#{row.active}" colWidth="60" colType="checkbox"/>
<pe:sheetcolumn headerText="Price" value="#{row.purchasePrice}" colWidth="100"
styleClass="htRight #{row.purchasePrice gt 0 ? 'positive' : 'negative'}"
colType="numeric"
numericLocale="de-DE"
numericPattern="$0,0.00"
required="true"
requiredMessage="Price is required!">
<f:converter converterId="javax.faces.BigDecimal" />
</pe:sheetcolumn>
<pe:sheetcolumn headerText="Password" value="#{row.password}" colWidth="100" styleClass="password"
colType="password"
passwordHashSymbol="*"
passwordHashLength="8" />
<pe:sheetcolumn headerText="Date" value="#{row.purchaseDate}" colWidth="110"
sortBy="#{row.purchaseDate}"
styleClass="htCenter"
colType="date"
dateFormat="YYYY-MM-DD">
<f:convertDateTime type="date" pattern="yyyy-MM-dd"/>
</pe:sheetcolumn>
<pe:sheetcolumn headerText="Time" value="#{row.purchaseTime}" colWidth="110"
sortBy="#{row.purchaseTime}"
styleClass="htCenter"
colType="time"
timeFormat="h:mm:ss a">
<f:convertDateTime type="time" pattern="h:mm:ss a"/>
</pe:sheetcolumn>
<pe:sheetcolumn headerText="Value 1" value="#{row.value1}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 2" value="#{row.value2}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 3" value="#{row.value3}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 4" value="#{row.value4}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 5" value="#{row.value5}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 6" value="#{row.value6}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 7" value="#{row.value7}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 8" value="#{row.value8}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 9" value="#{row.value9}" colWidth="100" colType="numeric"/>
<pe:sheetcolumn headerText="Value 10" value="#{row.value10}" colWidth="100" colType="numeric"/>
</pe:sheet>
Here are the primefaces versions I'm using:
Code: Select all
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>primefaces-extensions</artifactId>
<version>7.0.3</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>7.0</version>
</dependency>