在dateItem dynamicform smartgwt中显示正确的dateformat



我正在为录制录制,以在动态图中填充某些项目。问题是我无法以正确的形式显示正确格式的日期,它一直显示在网格中,而我所做的任何格式化日期都被SmartGWT忽略了。我有点困惑。下面您会找到我的代码。谁能帮我吗?

dataTrade = new DateItem();
    dataTrade.setTitle(Nove.getInstance().getConstants().dataTrade());
    dataTrade.setName(RecordEditMovTitUploadDS.DATA_TRADE);
    dataTrade.setWidth(100);        
    dataTrade.setAlign(Alignment.LEFT);
    dataTrade.setUseTextField(true);
    String dataT = movTitRecord.getAttribute(ListMovTitByValCodTitDetailDS.DATA_TRADE);
    DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("yyyy-MM-dd HH:mm:ss.SSS");
    Date dateTr = null;
    try{
        dateTr = dateTimeFormat.parse(dataT);
    } catch(IllegalArgumentException e){
        SC.say("Couldn't parse date");
    }
    DateTimeFormat dateTimeFormat2 = DateTimeFormat.getFormat("dd/MM/yyyy");
    String dateTra= dateTimeFormat2.format(dateTr);
    //dataTrade.setDisplayFormat(DateDisplayFormat.TOEUROPEANSHORTDATE);
    //dataTrade.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
    dataTrade.setInputFormat("dd/MM/yyyy");
    dataTrade.setDefaultValue(dateTra);

要在调试中更具体地说明日期的格式正确,当我将值传递给setDefaultValue时,它是dd/MM/yyyy的,但是当我加载页面时,格式仍然是yyyy-MM-dd HH:mm:ss.SSS,我不明白为什么...

删除这一行应该有效:

dataTrade.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);

添加此行后,日期以正确的格式显示。我也能够以格式DD/mm/yyyy编辑表单和输入日期。

最新更新