3

ユーザーDateChooserが特定の月と年の日付を選択できるようにする必要があります。プログラムで月と年を設定し、ユーザーが日付/日のみを選択できるようにしたい。

minYear と maxYear を任意の年に設定することで、その年にこれを簡単に行うことができますが、ユーザーが別の月を選択できないようにする簡単な方法はありませんか?

4

4 に答える 4

2

月の選択矢印を無効にする方法は次のとおりです...完全なCSSハック!!

nextMonthUpSkin: ClassReference('mx.skins.Border');
nextMonthDisabledSkin: ClassReference('mx.skins.Border');
nextMonthDownSkin: ClassReference('mx.skins.Border');
nextMonthOverSkin: ClassReference('mx.skins.Border');
prevMonthUpSkin: ClassReference('mx.skins.Border');
prevMonthDisabledSkin: ClassReference('mx.skins.Border');
prevMonthDownSkin: ClassReference('mx.skins.Border');
prevMonthOverSkin: ClassReference('mx.skins.Border');   

8月にこの質問が表示されなかったことをお詫び申し上げます。しかし、私は最近(昨日)同じ問題を抱えていて、この解決策を見つけました...乾杯。

于 2010-09-23T19:55:28.473 に答える
2

JabbyPandaで述べたように、DateChooser コントロールを拡張できます。少し余分な作業を行うだけで、理想的でより再利用可能な実装を得ることができますが、ここでは単純さに固執しましょう。したがって、 と の両方を削除するfwdMonthButtonbackMonthButton、 visible プロパティを false に設定して非表示にするだけです。例えば:

import mx.controls.DateChooser;
import mx.core.mx_internal;
use namespace mx_internal;

public class MyDateChooser extends DateChooser
{
    override protected function createChildren():void {
        super.createChildren();
        // Remove them:
        this.removeChild(this.mx_internal::fwdMonthButton);
        this.removeChild(this.mx_internal::backMonthButton);
        // Or just hide them:
        //this.mx_internal::fwdMonthButton.visible = false; 
        //this.mx_internal::backMonthButton.visible = false;    
    }
}
于 2011-02-24T14:18:22.993 に答える
1

mx:DateChooser をそのまま使用すると、パブリック プロパティ "yearNavigationEnabled" による年ナビゲーションの無効化のみが許可されます

月のナビゲーションも無効にしたい場合は、標準の DateChooser コンポーネントから拡張し、既存の「yearNavigationEnabled」と同様の「monthNavigationEnabled」機能を実装する必要があります。

于 2010-08-03T13:29:44.703 に答える
1

また、 selectableRangeプロパティを使用して、rangeStartrangeEndを適切に設定することもできます。ユーザーに 2010 年 8 月 1 日から 2010 年 8 月 15 日までの選択のみを許可する例:

selectableRange="{{rangeStart:new Date(2010,7,1), rangeEnd:new Date(2010,7,15)}}"

ただし、月ナビゲータの矢印は引き続き表示されることに注意してください (無効になっています)。それらを非表示にする簡単な方法があるかどうかはわかりません。

于 2010-08-02T16:18:14.603 に答える