Hi Isomorphic,
please see this BuiltInDS based testcase (v10.0p_2015-10-23).
BuiltInDS.java:
In my opinion, using startEditingNew should not enable the edit mode permanently.
In my application, I do the "easy" masterdata with startEditingNew and then details in a tabbed window shown on doubleclick.
Best regards
Blama
please see this BuiltInDS based testcase (v10.0p_2015-10-23).
BuiltInDS.java:
Code:
package com.smartgwt.sample.client; import com.google.gwt.core.client.EntryPoint; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.DataSource; 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.events.DoubleClickEvent; import com.smartgwt.client.widgets.events.DoubleClickHandler; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.layout.VLayout; public class BuiltInDS implements EntryPoint { private VLayout mainLayout; private IButton recreateBtn; private IButton startEditNewBtn; private ListGrid lg; 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(); } }); mainLayout = new VLayout(20); mainLayout.setWidth100(); mainLayout.setHeight100(); recreateBtn = new IButton("Recreate"); recreateBtn.setWidth(150); recreateBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { recreate(); } }); mainLayout.addMember(recreateBtn); startEditNewBtn = new IButton("Start editing new"); startEditNewBtn.setWidth(150); startEditNewBtn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { lg.startEditingNew(); } }); mainLayout.addMember(startEditNewBtn); recreate(); mainLayout.draw(); } private void recreate() { if (lg != null) { mainLayout.removeMember(lg); lg.markForDestroy(); } lg = new ListGrid(DataSource.get("animals")); lg.setWidth("90%"); lg.setHeight("80%"); lg.setAutoFetchData(false); lg.setCanEdit(true); lg.setCanEdit(false); lg.addDoubleClickHandler(new DoubleClickHandler() { @Override public void onDoubleClick(DoubleClickEvent event) { Window w = new Window() { { setPadding(0); setMargin(0); setMembersMargin(0); setModalMaskOpacity(60); setWidth(700); setHeight(700); setPadding(100); setTitle("Testwindow, see ListGrid row below"); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); setShowHeaderIcon(true); centerInPage(); } }; w.show(); } }); mainLayout.addMember(lg); lg.fetchData(); } }
- Doubleclick the ListGrid in order to see that a window opens and the edit-mode is not started.
- Click the startEditingNew-button
- Complete a new row
- Doubleclick the ListGrid in order to see that a window opens and the edit-mode opens in the background
In my opinion, using startEditingNew should not enable the edit mode permanently.
In my application, I do the "easy" masterdata with startEditingNew and then details in a tabbed window shown on doubleclick.
Best regards
Blama
Comment