smartGWT Power 4/6 nightly build, Firefox 10.0.2, 
The link item in the following form appears as expected when the form is not linked to a ValuesManager. But when the form has a ValuesManager, the link item appears as a box.
No problem for me to work around since I can put the LinkItem on a separate form, but I thought I would report it.
	
							
						
					The link item in the following form appears as expected when the form is not linked to a ValuesManager. But when the form has a ValuesManager, the link item appears as a box.
No problem for me to work around since I can put the LinkItem on a separate form, but I thought I would report it.
Code:
	
		final DynamicForm form = new DynamicForm();
		form.setNumCols(4);
		form.setColWidths(110, 175, 110, "*");
		form.setPadding(5);
		form.setSize("650", "180");
		form.setSaveOnEnter(true);  
		
		Log.info("Value manager is "+dataImportElementValueManager);
		
		//!!!!!!!!!!!!!   Link Item appears fine if line below is commented out  */
		form.setValuesManager(dataImportElementValueManager);
		final SelectItem driverSelectItem = new SelectItem("driver", CONSTANTS.Driver());
		driverSelectItem.setValueMap(DataImportSettingsGUI.getRDBDriversValueMap());
		driverSelectItem.setWidth("*");
		final TextItem urlClassTextItem = new TextItem("url", CONSTANTS.DataBase_URL());
		urlClassTextItem.setWidth("*");
		urlClassTextItem.setAttribute("browserSpellCheck", false);
		final TextItem userNameTextItem = new TextItem("userName", CONSTANTS.UserName());
		userNameTextItem.setWidth("*");
		userNameTextItem.setAttribute("browserSpellCheck", false);
		final PasswordItem passwordItem = new PasswordItem("password", CONSTANTS.Password());
		passwordItem.setWidth("*");
		final SelectItem tableNameSelectItem = new SelectItem("tableName", CONSTANTS.Table_Name());
		tableNameSelectItem.setOptionDataSource(tableDS);
		tableNameSelectItem.setAutoFetchData(false);
		
		
		tableNameSelectItem.addChangedHandler(new ChangedHandler() {
			public void onChanged(ChangedEvent event) {
				Log.info("Executing change handler for table name selection.  Posting change to memory.");
				dataImportElementValueManager.saveData();
				Log.info("Ran tableNameSelectItem save data.");
			}
		});
		// if the driver, url, user and password can establish a connection, load the available tables from the database
		String driver = (String) driverSelectItem.getValue();
		String url = (String) urlClassTextItem.getValue();
		String userName = (String) userNameTextItem.getValue();
		String pass = (String) passwordItem.getValue();
		if (driver != null && url != null && userName != null && pass != null) {
			Criteria crit = new Criteria("driver", driver);
			crit.addCriteria("url", url);
			crit.addCriteria("userName", userName);
			crit.addCriteria("password", pass);
			Log.info("Looked up tables in database to set the table selection picklist.  Database url is " + url);
			tableNameSelectItem.setPickListCriteria(crit);
			tableNameSelectItem.fetchData();
		} else {
			Log.info("Database driver, url, username or password is null.  Can't setup table name pick list options at form build.");
		}
		
		
		
		// Add a hyperlink to test the database connection and retrieve the table names from the database for the table selection pick list
		// User can select this hyperlink once he fills in the driver, url, username and password info in the form
		LinkItem linkItem = new LinkItem();
		linkItem.setHeight(20);
		linkItem.setTitle("    ");
		//linkItem.setLinkTitle(CONSTANTS.Test_Connection());
		linkItem.setLinkTitle("Testing");
		linkItem.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
			public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
				String driver = (String) driverSelectItem.getValue();
				String url = (String) urlClassTextItem.getValue();
				String userName = (String) userNameTextItem.getValue();
				String pass = (String) passwordItem.getValue();
				if (driver != null && url != null && userName != null && pass != null) {
					Criteria crit = new Criteria("driver", driver);
					crit.addCriteria("url", url);
					crit.addCriteria("userName", userName);
					crit.addCriteria("password", pass);
					Log.info("Looking up tables in database " + url);
					tableNameSelectItem.setPickListCriteria(crit);
					tableNameSelectItem.fetchData(new DSCallback() {
						// tell the user if the connection was established
						public void execute(DSResponse response, Object rawData, DSRequest request) {
							Log.info("In test connection hyperlink DSResponse callback.");
							int status = response.getStatus();
							if (status < 0) {
								SC.warn("Database connection failed.");
							} else {
								SC.say("Connected to database.");
							}
						}
					});
				} else {
					SC.warn("Database connection failed. Url, user name and Password must be non null.");
				}
			}
		});
		form.setFields(driverSelectItem, urlClassTextItem, userNameTextItem, passwordItem, linkItem, tableNameSelectItem);

Comment