0

現在、他のフレームワーク (Broadleaf) 内で smartGwt (バージョン 2.5) を使用しています。

ロケールをフランス語に設定すると:

日付フィールドは整形式 (DD/MM/YYYY) で、カレンダーはフランス語に翻訳されていますが、日付を変更してフォームを保存すると、エラー メッセージ「Doit être une date」(英語の日付である必要があります) とともにポップアップが表示されます)。バリデーターは、MM/DD/YYYY 形式の日付を想定しています。

フレームワークが日付フィールドを作成するために使用するクラスへのリンク: https://github.com/BroadleafCommerce/BroadleafCommerce/blob/BroadleafCommerce-2.2.x/admin/broadleaf-open-admin-platform/src/main/java/ org/broadleafcommerce/openadmin/client/datasource/dynamic/module/BasicClientEntityModule.java

同じ問題の投稿を見つけました (forums.smartclient.com/showthread.php?t=19847) が、答えはありません。

この問題を解決する方法を教えてください

編集 :

私が試したこと:

@Override
public void onModuleLoad() {

DateUtil.setShortDateDisplayFormat(DateDisplayFormat.TOEUROPEANSHORTDATE);      
    DateUtil.setShortDateDisplayFormatter(new DateDisplayFormatter() {  
        @Override
        public String format(Date date) {
            if(date == null)
            {
               return null;
            }
            else{
                final DateTimeFormat dateFormatter = DateTimeFormat.getFormat("DD/MM/YYYY");
                return dateFormatter.format(date);
            }
        }
    });

以下のコードは許可されていないため:

    DateUtil.setShortDateDisplayFormatter(DateUtil.TOEUROPEANSHORTDATE);    

アプリケーションの初期化中にコードを配置しましたが、問題はまだ存在します:-(

スクリーンショット: http://www.hostingpics.net/viewer.php?id=989088date.png

別のアイデアはありますか?

4

2 に答える 2

0

フィールドの日付フォーマッタを に設定しますDateDisplayFormat.TOEUROPEANSHORTDATE

dateItem.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);

また、DateTimeItem (SmartGWT) の表示秒をdateItem.useTextField確認して、が true の場合にカスタム形式の日付文字列を設定する別の方法を見つけてください。

フォーラム スレッドが示すように、アプリケーションの初期化中に一度だけ使用するメソッドを使用して、アプリケーションのデフォルトの日付/日時形式を設定することもできcom.smartgwt.client.util.DateUtilます (例: EntryPoint)。

DateUtil.setShortDateDisplayFormatter(DateUtil.TOEUROPEANSHORTDATE);
于 2013-07-30T15:01:09.400 に答える