public void pageRequested(PageEvent p) throws Exception { HttpServletRequest req = p.getPage().getCurrentRequest(); String returnVal[] = req.getParameterValues(getFullName()); if (returnVal != null) { if (_editDescription) _hiddenKeyHandle.setValue(returnVal[0], _rowNo); else getEditField().setValue(returnVal[0], _rowNo); } HtmlPage pg = getPage(); if (pg instanceof JspController) ((JspController) pg).setRemoveFromQueryString(getFullName()); if (returnVal != null) { returnVal = req.getParameterValues("descReturn"); if (returnVal != null) { if (_editDescription) getEditField().setValue(returnVal[0], _rowNo); if (_descDs != null && _descriptionColumn != -1) { if (_descDs.getColumnDataType(_descriptionColumn) == DataStoreBuffer.DATATYPE_STRING) { if (_rowNo == -1) _rowNo = _descDs.getRow(); _descDs.setString(_rowNo, _descriptionColumn, returnVal[0]); } } if (pg instanceof JspController) ((JspController) pg).setRemoveFromQueryString("descReturn"); } } }
/* * Sets an expression for the description of the field being looked up */ public void setDescriptionExpression(DataStoreBuffer ds, String exp) throws DataStoreException { int index = ds.getColumnIndex(exp); if (!_editDescription) { _descriptionEval = new DataStoreEvaluator(ds, exp); if (index != -1) _descriptionColumn = index; _showDescription = true; _descDs = ds; } else if (index != -1) getEditField().setColumn(ds, index); }
/** * LookUp constructor. * * @param name - name of component * @param lookup_page - the page that will provide the lookup values * @param browseImage - the browse image to use. default is a magnifying glass * @param ds - DataStore that is being used with this component * @param tableName - table name to bind to * @param columnName - column name to bind to * @param dataType - data type of the main edit field ( use DataStore.DATATYPE_*) * @param pKey - flag that signifies if the column is a primary key column * @param p - page the component will be associated with */ public HtmlLookUpComponent( String name, String lookup_page, String browseImage, DataStore ds, String tableName, String columnName, int dataType, boolean pKey, HtmlPage p) { super(name, p); _hiddenDescriptionHandle = new HtmlHiddenField("hiddenDescr", null, p); addCompositeComponent(_hiddenDescriptionHandle, DataStore.DATATYPE_STRING, false, null, null); _hiddenKeyHandle = new HtmlHiddenField("hiddenKey", null, p); addCompositeComponent(_hiddenKeyHandle, DataStore.DATATYPE_STRING, false, null, null); _hiddenKeyHandle.setVisible(false); setTheme(null); p.addPageListener(this); HtmlTextEdit edit = null; if (ds == null) { edit = new HtmlTextEdit("_edit", p); _editHandle = addCompositeComponent(edit, dataType, false, null, null); } else { _ds = ds; /** Don't add the same column twice to the data store. */ if (_ds.getColumnIndex(tableName + "." + columnName) == -1) { if (_ds instanceof DataStore) ((DataStore) _ds).addColumn(tableName, columnName, dataType, pKey, true); } edit = new HtmlTextEdit(tableName + "_" + columnName, p); edit.setColumn(_ds, tableName + "." + columnName); _editHandle = addCompositeComponent(edit, dataType, true, tableName, columnName); } _browseImage = new HtmlSubmitImage("browseImage", browseImage, p); _browseImage.addSubmitListener(this); _browseImageHandle = addCompositeComponent(_browseImage, DATATYPE_ANY, false, null, null); _browsePopupImage = new HtmlImage("browsPopupImage", browseImage, p); _browsePopupImageLink = new HtmlLink("browsePopupImageLink", null, p); _browsePopupImageLink.add(_browsePopupImage); _browseImageHandle = addCompositeComponent(_browsePopupImageLink, DATATYPE_ANY, false, null, null); _browsePopupImageLink.setVisible(false); setLookUpPageURL(lookup_page); setDescriptionFont(null); }