DateField不可用

youyouxuezi 2010-01-20 06:15:13
求救:DateField如何实现不可用时,日期选择器不可以打开,但是文字颜色不变暗?
...全文
150 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuetao121 2010-02-01
  • 打赏
  • 举报
回复
呵呵,最好就从写组件,10楼的方法很不错
增加一个属性,readOlny,从写打开日期选择器的方法,增加判断,如果readOlny为什么值时,就不打开。
也不复杂。
gundamff 2010-01-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 syeia 的回复:]
enabled=false  字体就变灰 了。

楼主要 “文字颜色不变暗”
[/Quote]

这个可以通过修改CSS搞定吧....
ThornBird313 2010-01-22
  • 打赏
  • 举报
回复
写个自义组件吧:


package controls
{

import flash.events.Event;

import mx.controls.DateField;
import mx.events.FlexEvent;

public class CustomDateField extends DateField
{

private var _readonly:Boolean = false;
private var readonlyChanged:Boolean = false;

[Bindable("readonlyChanged")]
public function get readonly():Boolean
{
return _readonly;
}

public function set readonly(value:Boolean):void
{
_readonly = value;
readonlyChanged = true;
invalidateProperties();
dispatchEvent(new Event("readonlyChanged"));
}

override protected function commitProperties():void
{
super.commitProperties();
if (readonlyChanged && textInput)
{
textInput.editable = !_readonly;
readonlyChanged = false;
}
}

override protected function downArrowButton_buttonDownHandler(
event:FlexEvent):void
{
if (!_readonly)
super.downArrowButton_buttonDownHandler(event);
}

}

}



使用:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:co="controls.*" layout="vertical">
<co:CustomDateField id="dateField" selectedDate="{new Date()}"
editable="true" readonly="true" />
<mx:Button label="readonly" click="{dateField.readonly=!dateField.readonly}" />
</mx:Application>
syeia 2010-01-22
  • 打赏
  • 举报
回复
enabled=false 字体就变灰 了。

楼主要 “文字颜色不变暗”
gundamff 2010-01-22
  • 打赏
  • 举报
回复
enabled=false?
youyouxuezi 2010-01-21
  • 打赏
  • 举报
回复
LS方法不行.
有高人帮解答下么
syeia 2010-01-21
  • 打赏
  • 举报
回复
其实没有什么麻烦的,很特别的要求。
这样不用研究了,很浪费事件。

估计也没有什么好的办法。



youyouxuezi 2010-01-21
  • 打赏
  • 举报
回复
嗯,感谢LS.不过这方法好麻烦,而且感觉不是很直接.
syeia 2010-01-21
  • 打赏
  • 举报
回复
在同一位置.
方一个TextInput和一个图片,他们的大小、样式 和DateField 几乎一样。
把DateField 值绑定到TextInput 上面,这样DateField 变,TextInput 的值就变。

满足某种条件的下 ,显示
DateField ,满足另外的条件下,显示TextInput和一个图片.
这样应该能满足你的要求。
youyouxuezi 2010-01-21
  • 打赏
  • 举报
回复
不明白3L意思
LS是指一个DateField一个图片,然后二者重叠?
那这样的话,DateField里面选一个值的话呢?
还有没有其他方法?
syeia 2010-01-21
  • 打赏
  • 举报
回复
估计不好弄。
真要实现这样的功能。

可以做个一个类似DateField,旁边就是一图片。

他们的位置可以重叠,在满足某种条件的下,显示一方。



水中影子 2010-01-20
  • 打赏
  • 举报
回复
楼主,试试editable=false

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧