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