Hi Isomorphic,
please take a look at this.
The same code for both ListGrids except "setShowPickerIconOnFocus(true)" in the class SelectItemYesNo.
This only applies when editing empty fields.

Best regards
Pavo
please take a look at this.
The same code for both ListGrids except "setShowPickerIconOnFocus(true)" in the class SelectItemYesNo.
This only applies when editing empty fields.
Code:
package com.smartgwt.sample.client;
import java.util.LinkedHashMap;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.Version;
import com.smartgwt.client.core.KeyIdentifier;
import com.smartgwt.client.util.Page;
import com.smartgwt.client.util.PageKeyHandler;
import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.form.fields.FormItem;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridEditorContext;
import com.smartgwt.client.widgets.grid.ListGridEditorCustomizer;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.layout.VLayout;
public class BuiltInDS extends VLayout implements EntryPoint {
private IButton recreateBtn;
public void onModuleLoad() {
KeyIdentifier debugKey = new KeyIdentifier();
debugKey.setCtrlKey(true);
debugKey.setKeyName("D");
Page.registerKey(debugKey, new PageKeyHandler() {
public void execute(String keyName) {
SC.showConsole();
}
});
setWidth100();
setHeight100();
recreateBtn = new IButton("Recreate");
recreateBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
new MyWindow().show();
}
});
addMember(recreateBtn);
new MyWindow().show();
draw();
}
private class MyWindow extends Window {
public MyWindow() {
setWidth(300);
setHeight(600);
setMembersMargin(0);
setModalMaskOpacity(70);
setTitle(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")");
setShowMinimizeButton(false);
setIsModal(true);
setShowModalMask(true);
centerInPage();
ListGridCustom withoutSetShowPickerIconOnFocusLG = new ListGridCustom(false);
ListGridCustom withSetShowPickerIconOnFocusLG = new ListGridCustom(true);
addItem(withoutSetShowPickerIconOnFocusLG);
addItem(withSetShowPickerIconOnFocusLG);
}
}
private class ListGridCustom extends ListGrid {
public ListGridCustom(Boolean setShowPickerIconOnFocus) {
setDataSource("animals");
setCanEdit(true);
final SelectItemYesNo siyn = new SelectItemYesNo(setShowPickerIconOnFocus);
setEditorCustomizer(new ListGridEditorCustomizer() {
@Override
public FormItem getEditor(ListGridEditorContext context) {
return siyn;
}
});
ListGridField testLGF = new ListGridField("commonName");
ListGridField test2LGF = new ListGridField("scientificName");
setFields(testLGF, test2LGF);
fetchData();
}
}
private class SelectItemYesNo extends SelectItem {
public SelectItemYesNo(Boolean setShowPickerIconOnFocus) {
final LinkedHashMap<String, String> vM = new LinkedHashMap<String, String>();
vM.put("Y", "Yes");
vM.put("N", "No");
setValueMap(vM);
setAllowEmptyValue(true);
if (setShowPickerIconOnFocus)
setShowPickerIconOnFocus(true);
else
setShowPickerIconOnFocus(false);
}
}
}
Pavo
Comment