Search in sources :

Example 11 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class DynamicDashBoard method onEvent.

public void onEvent(Event event) throws Exception {
    Component comp = event.getTarget();
    Row row = (Row) comp;
    int recordId = new Integer(row.getId());
    MQuery query = new MQuery();
    query.setZoomValue(recordId);
    query.setZoomTableName(zoomTableName);
    query.setZoomColumnName(zoomTableColumnName);
    query.setRecordCount(1);
    query.addRestriction(zoomTableColumnName, MQuery.EQUAL, new Integer(recordId));
    AEnv.zoom(zoomWindowId, query);
}
Also used : MQuery(org.compiere.model.MQuery) Row(org.zkoss.zul.Row) Component(org.zkoss.zk.ui.Component)

Example 12 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class DynamicDashBoard method prepareRow.

/**
	 * 
	 * @param rs
	 * @param labelList
	 * @param rows
	 * <BR>
	 * 
	 * 
	 *            This method holding the logic to prepare Row based on
	 *            ResultSet.
	 * 
	 * 
	 */
public void prepareRow(ResultSet rs, Label[] labelList, Rows rows) {
    Row row = null;
    try {
        ResultSetMetaData rsm = rs.getMetaData();
        int count = rsm.getColumnCount();
        int i = 0;
        int a = 0;
        if (zoomWindowId > 0 && zoomTabId > 0) {
            if (displayZoomCol) {
                i = 1;
                a = 1;
            } else {
                //Event enabled
                i = 2;
                //To start creating labels from second column as first column is record ID. 
                a = 2;
            }
        } else {
            i = 1;
            a = 1;
        }
        row = new Row();
        //create rows with data
        while (i <= count) {
            String name = rsm.getColumnTypeName(i);
            if (name.equalsIgnoreCase("varchar")) {
                if (rs.getString(i) != null)
                    labelList[i - a] = new Label(rs.getString(i));
                else
                    labelList[i - a] = new Label(" ");
            } else if (name.equalsIgnoreCase("numeric")) {
                if (rs.getString(i) != null)
                    labelList[i - a] = new Label(new Integer(rs.getInt(i)).toString());
                else
                    labelList[i - a] = new Label(" ");
            } else if (name.equalsIgnoreCase("bpchar")) {
                if (rs.getString(i) != null)
                    labelList[i - a] = new Label(rs.getString(i));
                else
                    labelList[i - a] = new Label(" ");
            } else if (name.equalsIgnoreCase("timestamptz")) {
                if (rs.getTimestamp(i) != null) {
                    labelList[i - a] = new Label(rs.getTimestamp(i).toString());
                } else {
                    labelList[i - a] = new Label(" ");
                }
            }
            i = i + 1;
        }
        for (int j = 0; j < labelList.length; j++) {
            row.appendChild(labelList[j]);
        }
        if (zoomWindowId > 0 && zoomTabId > 0) {
            row.setId(String.valueOf(rs.getInt(zoomTableColumnName)));
            if (event == null || event.length() == 0) {
                //default event
                event = Events.ON_DOUBLE_CLICK;
            }
            row.addEventListener(event, this);
        }
        row.setParent(rows);
    } catch (Exception e) {
        logger.log(Level.WARNING, "Result set execution failed" + e);
    }
}
Also used : ResultSetMetaData(java.sql.ResultSetMetaData) Label(org.adempiere.webui.component.Label) Row(org.zkoss.zul.Row) SQLException(java.sql.SQLException)

Example 13 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class GridPanel method onPostSelectedRowChanged.

/**
	 * Event after the current selected row change
	 */
public void onPostSelectedRowChanged() {
    if (listbox.getRows().getChildren().isEmpty())
        return;
    int rowIndex = gridTab.isOpen() ? gridTab.getCurrentRow() : -1;
    if (rowIndex >= 0 && pageSize > 0) {
        int pgIndex = rowIndex >= 0 ? rowIndex % pageSize : 0;
        org.zkoss.zul.Row row = (org.zkoss.zul.Row) listbox.getRows().getChildren().get(pgIndex);
        if (!isRowRendered(row, pgIndex)) {
            listbox.renderRow(row);
        } else {
            Row old = renderer.getCurrentRow();
            int oldIndex = renderer.getCurrentRowIndex();
            renderer.setCurrentRow(row);
            if (old != null && old != row && oldIndex >= 0 && oldIndex != gridTab.getCurrentRow()) {
                listModel.updateComponent(oldIndex % pageSize);
            }
        }
        if (modeless && !renderer.isEditing()) {
            renderer.editCurrentRow();
            if (columnOnClick != null && columnOnClick.trim().length() > 0) {
                setFocusToField(columnOnClick);
                columnOnClick = null;
            } else {
                renderer.setFocusToEditor();
            }
        } else {
            focusToRow(row);
        }
    } else if (rowIndex >= 0) {
        org.zkoss.zul.Row row = (org.zkoss.zul.Row) listbox.getRows().getChildren().get(rowIndex);
        if (!isRowRendered(row, rowIndex)) {
            listbox.renderRow(row);
        } else {
            Row old = renderer.getCurrentRow();
            int oldIndex = renderer.getCurrentRowIndex();
            renderer.setCurrentRow(row);
            if (old != null && old != row && oldIndex >= 0 && oldIndex != gridTab.getCurrentRow()) {
                listModel.updateComponent(oldIndex);
            }
        }
        if (modeless && !renderer.isEditing()) {
            renderer.editCurrentRow();
            if (columnOnClick != null && columnOnClick.trim().length() > 0) {
                setFocusToField(columnOnClick);
                columnOnClick = null;
            } else {
                renderer.setFocusToEditor();
            }
        } else {
            focusToRow(row);
        }
    }
}
Also used : Row(org.zkoss.zul.Row) Row(org.zkoss.zul.Row)

Example 14 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class GridTabRowRenderer method stopEditing.

/**
	 * Detach all editor and optionally set the current value of the editor as cell label.
	 * @param updateCellLabel
	 */
public void stopEditing(boolean updateCellLabel) {
    if (!editing) {
        return;
    } else {
        editing = false;
    }
    Row row = null;
    for (Entry<GridField, WEditor> entry : editors.entrySet()) {
        if (entry.getValue().getComponent().getParent() != null) {
            Component child = entry.getValue().getComponent();
            Div div = null;
            while (div == null && child != null) {
                Component parent = child.getParent();
                if (parent instanceof Div && parent.getParent() instanceof Row)
                    div = (Div) parent;
                else
                    child = parent;
            }
            Component component = div.getFirstChild();
            if (updateCellLabel) {
                if (component instanceof Label) {
                    Label label = (Label) component;
                    label.getChildren().clear();
                    String text = getDisplayText(entry.getValue().getValue(), entry.getValue().getGridField());
                    setLabelText(text, label);
                } else if (component instanceof Checkbox) {
                    Checkbox checkBox = (Checkbox) component;
                    Object value = entry.getValue().getValue();
                    if (value != null && "true".equalsIgnoreCase(value.toString()))
                        checkBox.setChecked(true);
                    else
                        checkBox.setChecked(false);
                }
            }
            component.setVisible(true);
            if (row == null)
                row = ((Row) div.getParent());
            entry.getValue().getComponent().detach();
            entry.getKey().removePropertyChangeListener(entry.getValue());
            entry.getValue().removeValuechangeListener(dataBinder);
        }
    }
    GridTableListModel model = (GridTableListModel) grid.getModel();
    model.setEditing(false);
}
Also used : Div(org.zkoss.zul.Div) Label(org.zkoss.zhtml.Label) Row(org.zkoss.zul.Row) GridField(org.compiere.model.GridField) WEditor(org.adempiere.webui.editor.WEditor) Component(org.zkoss.zk.ui.Component) HtmlBasedComponent(org.zkoss.zk.ui.HtmlBasedComponent)

Example 15 with Row

use of org.zkoss.zul.Row in project adempiere by adempiere.

the class WBrowserSearch method configColumns.

/**
	 * Configure columns
	 * @param field
	 * @param field_To
	 */
private void configColumns(WEditor editor, WEditor editorTo) {
    int maxToAdd = getColumns() * 2;
    int columnsToAdd = getColumns();
    //	for To field
    if (editorTo != null) {
        columnsToAdd += 2;
    }
    //	Verify if is new row or not
    if ((cols + columnsToAdd) > maxToAdd || currentRow == null) {
        cols = 0;
        currentRow = new Row();
        rows.appendChild(currentRow);
    }
}
Also used : Row(org.zkoss.zul.Row)

Aggregations

Row (org.zkoss.zul.Row)15 org.zkoss.zul (org.zkoss.zul)7 Rows (org.adempiere.webui.component.Rows)5 Label (org.adempiere.webui.component.Label)4 PropertyVetoException (java.beans.PropertyVetoException)3 Component (org.zkoss.zk.ui.Component)3 Borderlayout (org.zkoss.zkex.zul.Borderlayout)3 Grid (org.adempiere.webui.component.Grid)2 HtmlBasedComponent (org.zkoss.zk.ui.HtmlBasedComponent)2 North (org.zkoss.zul.North)2 South (org.zkoss.zul.South)2 ResultSetMetaData (java.sql.ResultSetMetaData)1 SQLException (java.sql.SQLException)1 Entry (java.util.Map.Entry)1 org.adempiere.webui.component (org.adempiere.webui.component)1 Column (org.adempiere.webui.component.Column)1 Columns (org.adempiere.webui.component.Columns)1 ConfirmPanel (org.adempiere.webui.component.ConfirmPanel)1 GridFactory (org.adempiere.webui.component.GridFactory)1 Tab (org.adempiere.webui.component.Tab)1