protected ExportTable tablaProspectos;
private PageLink   editLink = new PageLink("Editar", AltaProspecto.class);
private ActionLink deleteLink = new ActionLink("Borrar", this,
"onDeleteClick");

@Override
    public void onInit() {
        super.onInit();

        /* a list of IDs I need to load my table (tablaProspectos) records*/
        idList = (ArrayList<String>)
getContext().getSessionAttribute("idList");
        prospectos = new ArrayList<Prospecto>();
        prospecto = new Prospecto();
        tablaProspectos = null;

        /*table properties setup*/
        tablaProspectos = new ExportTable("tablaProspectos");
        tablaProspectos.setClass(Table.CLASS_BLUE2);
        tablaProspectos.setShowBanner(true);
        tablaProspectos.setPageSize(10);
        tablaProspectos.setSortable(true);

        /*load table records*/
        prospectos = prospecto.cargarProspectosPorSector(idList);

        if (!prospectos.isEmpty()) {
            prospectos = prospectos.subList(0, prospectos.size());
            tablaProspectos.setRowList(prospectos);
        }

        /*table construction*/
        /* estatus is a check or cross image matched to a status active or
inactive*/
        Column estatus = new Column("estatus", "Estatus");
        estatus.setTextAlign("center");
        estatus.setDecorator(new Decorator() {
            @Override
            public String render(Object row, Context context) {
                Prospecto prospecto = (Prospecto) row;
                if (prospecto.getEstatus().equals("A")) {
                    return "<img src='" +
context.getRequest().getContextPath() + "/Img/yes.png' alt='ACTIVO' />";
                } else {
                    return "<img src='" +
context.getRequest().getContextPath() + "/Img/no.png' alt='NO ACTIVO' />";
                }
            }
        });

        tablaProspectos.addColumn(estatus);

        /*a record property*/
        Column column = new Column("sectorDesc", "Categoria");
        column.setTextAlign("left");
        tablaProspectos.addColumn(column);

        /*a record property*/
        column = new Column("trato", "Trato");
        column.setTextAlign("left");
        tablaProspectos.addColumn(column);

        /*a record property/*
        column = new Column("apellido1", "Primer Apellido");
        column.setTextAlign("left");
        tablaProspectos.addColumn(column);

        /*more record properties*/
        ...

        /*edit PageLink setup*/
        editLink.setImageSrc("/Img/table-edit3.png");
        editLink.setTitle("Editar Prospecto");
        editLink.setParameter("referrer",
"/comision/ReporteProspectos.htm");
        editLink.setParameter("action", "editar");
        editLink.setAttribute("onclick", "fSubmittingPage();");
        addControl(editLink);

        /*delete ActionLink setup*/
        deleteLink.setImageSrc("/Img/table-delete2.png");
        deleteLink.setTitle("Borrar Prospecto");
        deleteLink.setAttribute("onclick", "return window.confirm('¿Esta
seguro que desea dar de baja el registro?');");
        addControl(deleteLink);

        /* add edit PageLink to table*/
        Column edicion = new Column("Editar");
        edicion.setTextAlign("center");
        edicion.setDecorator(new LinkDecorator(tablaProspectos, editLink,
"idProspecto"));
        edicion.setSortable(false);
        tablaProspectos.addColumn(edicion);

        /* add delete ActionLink to table */
        Column borrar = new Column("Borrar");
        borrar.setTextAlign("center");
        borrar.setDecorator(new LinkDecorator(tablaProspectos, deleteLink,
"idProspecto"));
        borrar.setSortable(false);
        tablaProspectos.addColumn(borrar);

        setupExporter(tablaProspectos);
        tablaProspectos.setExportAttachment(ExportTable.EXPORTER_ATTACHED);

        addControl(tablaProspectos);

        tablaProspectos.getControlLink().setActionListener(new
ActionListener() {

                public boolean onAction(Control source) {

                    tablaProspectos.saveState(getContext());
                    return true;
                }
            });

        tablaProspectos.restoreState(getContext());


    }

Thanks and best regards,
-Carlos

On Thu, Mar 8, 2012 at 11:46 AM, Bob Schellink <[email protected]> wrote:
>
> Hi,
>
> Can you post a snippet how you construct the table, links and how you
> add them to the table? Looking at the source it looks like the
> ActionLink does not have a name set, hence the NullPointerException.
>
> regards
>
> Bob
>
> On Thu, Mar 8, 2012 at 6:08 PM, Carlos Lobato <[email protected]> wrote:
> > Hi,
> >
> > I'm creating an ExportTable with a Edit PageLink and a Delete
> > ActionLink. So
> > far no problems with the PageLink however the ExportTable does not seem
> > to
> > like ActionLinks. When I click it, it does delete the record but it
> > crashes,
> > the relevant parts of the exception thrown go like this:
> >
> > [Click] [error] Velocity: Exception rendering
> > #parse(/comision/ReporteProspectos.htm) at /border-template.htm[line
> > 186,
> > column 25]
> > [Click] [error] handleException: java.lang.NullPointerException
> > at org.apache.click.control.ActionLink.getHref(ActionLink.java:292)
> > at org.apache.click.control.ActionLink.getHref(ActionLink.java:345)
> > at org.apache.click.control.AbstractLink.render(AbstractLink.java:629)
> > at
> >
> >
pue.gob.mx.sle.utils.TableExportContainer.renderExportBanner(TableExportContainer.java:135)
> > at
> >
> >
pue.gob.mx.sle.utils.TableExportContainer.render(TableExportContainer.java:52)
> > at pue.gob.mx.sle.utils.ExportTable.render(ExportTable.java:216)
> >
> > At first I thought I should be overriding the Form's onProcess method
> > like
> > the Edit FormTable page from the examples, but still get the same error.
> > Maybe I should make ExportTable extend FormTable? Thanks in advance,
> >
> > -Carlos

Reply via email to