Hi Isomorphic,
please take a look at this.
This bug appears only for "creatorTimestamp" and "datetime" field type, and not for "date".
Using (6.1p/v11.1p_2018-08-29) but probably also in 12.0
Best regards
Pavo
please take a look at this.
Code:
package com.smartgwt.sample.client; import java.util.Date; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.i18n.client.LocaleInfo; import com.google.gwt.i18n.shared.DateTimeFormat; import com.google.gwt.i18n.shared.DateTimeFormatInfo; import com.smartgwt.client.Version; import com.smartgwt.client.core.KeyIdentifier; import com.smartgwt.client.data.AdvancedCriteria; import com.smartgwt.client.data.Criterion; import com.smartgwt.client.data.SortSpecifier; import com.smartgwt.client.types.OperatorId; import com.smartgwt.client.types.SortDirection; import com.smartgwt.client.util.DateDisplayFormatter; import com.smartgwt.client.util.DateUtil; 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.grid.ListGrid; 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(800); setHeight(600); setMembersMargin(0); setModalMaskOpacity(70); setTitle(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")"); SC.logWarn(" (" + Version.getVersion() + "/" + Version.getSCVersionNumber() + ")"); setShowMinimizeButton(false); setIsModal(true); setShowModalMask(true); centerInPage(); ListGrid mainLG = new MainLG(); addItem(mainLG); } private class MainLG extends ListGrid { public MainLG() { setAllowFilterExpressions(true); setShowFilterEditor(true); setAutoFetchData(false); setDataSource("supplyItem"); DateUtil.setShortDatetimeDisplayFormatter(new DateDisplayFormatter() { public String format(Date date) { if (date == null) return null; DateTimeFormatInfo ddtfi = LocaleInfo.getCurrentLocale().getDateTimeFormatInfo(); final DateTimeFormat dateFormatter = DateTimeFormat.getFormat(ddtfi.formatYearMonthAbbrevDay()); String format = dateFormatter.format(date); return format; } }); ListGridField createdAtLGF = new ListGridField("nextShipment"); setFields(createdAtLGF); setSort(new SortSpecifier[] { new SortSpecifier("lifeSpan", SortDirection.DESCENDING) }); fetchData(new AdvancedCriteria(new Criterion("status", OperatorId.EQUALS, "Endangered"))); } } } }
Code:
<field name="nextShipment" type="creatorTimestamp" title="Next Shipment"/>
Best regards
Pavo
Comment