I have a code like this:
/**
* @author
*/
public class POS {
@Inject
private Request request;
@Inject
private BiznisLogika tiketDao;
@Inject
private Session session;
@InjectComponent
private Zone result;
@SessionState
@Property
private SearchCriteria criteria;
@SessionState
@Property
private SearchCriteriaTwo criteriaTwo;
@SuppressWarnings("unused")
@Property
private GridDataSource source = new TicketDataSource(session, Tiket.class);
@SuppressWarnings("unused")
@Property
private Tiket currentTicket;
@Property
@Persist
private TiketStatus noviStatus;
@Property
private SelectModel tiketSelectModel;
@Inject
SelectModelFactory selectModelFactory;
@Inject
private Session hibernate;
@Inject
private GenericDao genericDao;
void setupRender() {
criteriaTwo = null;
criteria = null;
private final class TicketDataSource extends HibernateGridDataSource {
private TicketDataSource(Session session, @SuppressWarnings("rawtypes") Class entityType) {
super(session, entityType);
@Override
public int getAvailableRows() {
return criteria.getSearchPattern() == null ? 0 : super.getAvailableRows();
@Override
protected void applyAdditionalConstraints(Criteria crit) {
crit.add(Restrictions.ilike("ticketSerial", criteria.getSearchPattern())).add(Restrictions.ilike("ticketDate", criteriaTwo.getSearchPattern()));
void onValidateFromDelete() {
// Unfortunately, this method is never called because Checkbox doesn't bubble up VALIDATE. It's a shame because
// this would be the perfect place to validate whether deleting is OK, or to put an entry in deleteCopyByRowNum.
// Please vote for https://issues.apache.org/jira/browse/TAP5-2075 .
// The Loop component will automatically call this for every row as it is rendered.
public boolean isDelete() {
return false;
// The Loop component will automatically call this for every row on submit.
public void setDelete(boolean delete) {
@OnEvent(value = EventConstants.SUCCESS)
Object searchTickets() {
return request.isXHR() ? result.getBody() : null;
Object onAction() {
return request.isXHR() ? result.getBody() : null;
public ValueEncoder<TiketStatus> getTiketStatusEncoder() {
return new ValueEncoder<TiketStatus>() {
@Override
public String toClient(TiketStatus value) {
// return the given object's ID
return String.valueOf(value);
@Override
public TiketStatus toValue(String id) {
return TiketStatus.valueOf(id);
// return (Tiket) genericDao.getById(Tiket.class, Long.parseLong(id));
};
@CommitAfter
Object onSaveThemAll() {
for (int i = 0; i < source.getAvailableRows(); i++) {
currentTicket.setTicketStatus(noviStatus);
hibernate.merge(currentTicket);
return request.isXHR() ? result.getBody() : null;
Buscar
Resultados
or cancel
${message:no-result}
Save"
Now, I want to update when checked checkbox each row of a grid with new Status. I have tried with a method onSaveThemAll, but it doesn't work, since I have no idea how to check if checkbox is checked and how to update each row(ticket) with a new state. Any help is appreciated.
P.S. I have provided an image for better understanding what I want to achieve here.
http://postimg.org/image/lnlwb7fkb/
/**
* @author
*/
public class POS {
@Inject
private Request request;
@Inject
private BiznisLogika tiketDao;
@Inject
private Session session;
@InjectComponent
private Zone result;
@SessionState
@Property
private SearchCriteria criteria;
@SessionState
@Property
private SearchCriteriaTwo criteriaTwo;
@SuppressWarnings("unused")
@Property
private GridDataSource source = new TicketDataSource(session, Tiket.class);
@SuppressWarnings("unused")
@Property
private Tiket currentTicket;
@Property
@Persist
private TiketStatus noviStatus;
@Property
private SelectModel tiketSelectModel;
@Inject
SelectModelFactory selectModelFactory;
@Inject
private Session hibernate;
@Inject
private GenericDao genericDao;
void setupRender() {
criteriaTwo = null;
criteria = null;
private final class TicketDataSource extends HibernateGridDataSource {
private TicketDataSource(Session session, @SuppressWarnings("rawtypes") Class entityType) {
super(session, entityType);
@Override
public int getAvailableRows() {
return criteria.getSearchPattern() == null ? 0 : super.getAvailableRows();
@Override
protected void applyAdditionalConstraints(Criteria crit) {
crit.add(Restrictions.ilike("ticketSerial", criteria.getSearchPattern())).add(Restrictions.ilike("ticketDate", criteriaTwo.getSearchPattern()));
void onValidateFromDelete() {
// Unfortunately, this method is never called because Checkbox doesn't bubble up VALIDATE. It's a shame because
// this would be the perfect place to validate whether deleting is OK, or to put an entry in deleteCopyByRowNum.
// Please vote for https://issues.apache.org/jira/browse/TAP5-2075 .
// The Loop component will automatically call this for every row as it is rendered.
public boolean isDelete() {
return false;
// The Loop component will automatically call this for every row on submit.
public void setDelete(boolean delete) {
@OnEvent(value = EventConstants.SUCCESS)
Object searchTickets() {
return request.isXHR() ? result.getBody() : null;
Object onAction() {
return request.isXHR() ? result.getBody() : null;
public ValueEncoder<TiketStatus> getTiketStatusEncoder() {
return new ValueEncoder<TiketStatus>() {
@Override
public String toClient(TiketStatus value) {
// return the given object's ID
return String.valueOf(value);
@Override
public TiketStatus toValue(String id) {
return TiketStatus.valueOf(id);
// return (Tiket) genericDao.getById(Tiket.class, Long.parseLong(id));
};
@CommitAfter
Object onSaveThemAll() {
for (int i = 0; i < source.getAvailableRows(); i++) {
currentTicket.setTicketStatus(noviStatus);
hibernate.merge(currentTicket);
return request.isXHR() ? result.getBody() : null;
Buscar
Resultados
or cancel
${message:no-result}
Save"
Now, I want to update when checked checkbox each row of a grid with new Status. I have tried with a method onSaveThemAll, but it doesn't work, since I have no idea how to check if checkbox is checked and how to update each row(ticket) with a new state. Any help is appreciated.
P.S. I have provided an image for better understanding what I want to achieve here.
http://postimg.org/image/lnlwb7fkb/