FLEX中使用AS动态创建DataGrid

2010-2-6 评论(2) 分类:技术文章 Tags:

初学FLEX时,需要在AS里动态生成DataGrid,结果搞了很久才搞明白怎么把用MXML写出来的DataGrid改成用AS写出来,其中最主要的就是自定义itemEditor、itemRender怎么写,写篇东西整理总结下。

先看看下面这段代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.DataGrid;
			import mx.events.ListEvent;
			[Bindable]
			private var dgDataArr:Array = [{name: "Jon", job: "officer"},
									  {name: "James", job: "seller"},
									  {name: "Jodon", job: "manager"}];

			private function itemClickHandler(e:ListEvent):void
			{
				trace(e.target);
			}

		]]>
	</mx:Script>
	<mx:Component id="comboboxEditor">
		<mx:ComboBox dataProvider="{dt}" editable="true">
			<mx:Script>
				<![CDATA[
					private var dt:Array = ["officer", "seller", "manager"];
				]]>
			</mx:Script>
		</mx:ComboBox>
    </mx:Component>
	<mx:DataGrid width="100%" x="10" y="20" fontSize="14" dataProvider="{dgDataArr}" editable="true" itemClick="itemClickHandler(event)">
		<mx:columns>
			<mx:DataGridColumn dataField="name" editable="false" />
			<mx:DataGridColumn dataField="job" itemEditor="{comboboxEditor}">
			</mx:DataGridColumn>
		</mx:columns>
	</mx:DataGrid>
</mx:Application>

代码实现的是创建一个DataGrid,其中job栏可以编辑,并且编辑器是自定义的一个ComboBox。效果如下:

现在看怎么用AS代替MXML创建同样的DataGrid。
(更多…)

FLASH绘图板

2010-1-29 评论(6) 分类:作品 Tags:

发个绘图板,算是这学期图形学的作业,另外给一个项目用,绘制树形图标后通过php输出图片。

这是用flash builder 4做的,主要是想尝尝鲜,好像我都比较喜欢尝鲜的,做AIR账本的时候AIR刚刚出现没什么资料,这次也是,FB4 beta版刚出不久,没什么资料,里面关于皮肤的东西官方帮助又说得不明不白,有点蒙着做这个东西。觉得做个画板挺有趣的,可以练练面向对象编程,因为里面要用到继承的东西不少。

其中花功夫比较大的就是那个文本生成和选择工具上,当时找了半天才摸索到去除textinput边框和背景的方法。选择工具则是牵涉到整个画板了,都得在开始做之前就想好,目前的功能是鼠标移到元素上会选中那个元素,加红色边框,用选择工具画个矩形可以圈选多个元素,对多个元素一起进行编辑,拖动其中一个其他也会跟着动,记得当时这个比较折腾人~FLASH不支持多对象拖动,需要自己通过mousemove事件写,但如果是在某个容器上绑定 mousemove,鼠标移动过快的话就不会响应,得把事件绑定到外层的整个大容器里才行,反正一番折腾,结果现在貌似还正常~有没有潜在bug就不知道了~~开发过程中其他的事都不记得了,本来想做好工具栏皮肤的,但后来没精力没动力去做了,就先不做了~仅是习作~

效果:http://bangswork.googlecode.com/svn/trunk/drawing/bin-debug/flowchart.html
源码:http://code.google.com/p/bangswork/source/browse/trunk/#trunk/drawing

twiteseV1.3

2010-1-27 评论(25) 分类:作品 Tags:

考完试后,开始大改twitese,修复了很多大小bug,新增了一些功能,具体如下:

新增
新增官方RT,RT显示格式有两种,可以在“设置”里选择。
新增自定义API,发现默认API无法使用时可以自己设定API,在“设置”里自定义
新增停止自动刷新按钮
新增状态数值刷新按钮,更新好友数、关注者、推数三项数值
好友列表新增 关注/取消关注 按钮
侧边栏新增推群、热门消息
提示条新样式,固定在页面顶部,不会出现看不到的情况

细节
@自己的推高亮显示
ajax刷新时会更新旧推的时间
图片显示代码优化,每次刷新新推只检测新推里是否有图片。
搜索优化 纯中文字符间加空格
发推时显示的新推格式修整,链接,图片等都会显示
丰富出错提示,例如连接不上twitter、向没有关注你的人发私信都会有相应的提示

修复
修复中文标签乱码的bug
修复发送消息时过滤+ &等符号的bug
修复进入空页出错的bug
修复空间不支持加密函数时出现的错误

目前官方RT有一个问题,就是无法在timeline里显示自己是否RT过这条推,也就是说,你RT完一条推后,如果想undo,必须进入侧边栏的“RT消息”里删除那条推。自己RT过的消息在timeline里也无法高亮显示。这是官方API的缺陷,在开发者论坛上已经有人抱怨过,不知以后会不会加一个“rt_by_me”这样的参数。

之前最棘手的就是在某些空间不能加关注加收藏等问题,这些都是curl那块出的问题,貌似不同版本的PHP对这个curl语句支持不一样?没有空间可以测试不知道怎么修复。这次又小改了下这部分代码,但不确定之前那些问题是否解决了~

修整的过程感觉挺爽的,把bug一个个改掉,新功能一个个加上,挺顺利的,也重整了部分代码,把timeline的代码统一放在twitese.php的一个函数里,所有页面通过传参数调用,统一管理,可惜搜索页面和刷新推的特殊参数太多没法放进去。发现做啥东西都是刚开始时激情十足,连续做得久做得多了就没多大激情了,得换换口味休息休息才行。于是,我之前计划想加入的“高级搜索”功能,就留到下个版本再实现吧~

项目主页:http://code.google.com/p/twitese/

搬空间

2010-1-23 评论(13) 分类:生活

博客已经从名网迁移到mt主机~之前放在名网实在是折腾人,我是被逼走的~在此期间我提交了16个售后问题,每个售后问题都有来来回回很多次留言,解决时间有快有慢。网站估计只有80%时间是正常的,总是出现这样那样的问题导致无法访问或不正常。

来看看都是哪些问题:

1.后台phpmyadmin无法编辑或删除数据,出现:“(关键词:from,delete)您浏览的页面或提交的数据包含敏感关键词信息,该关键词已经被过滤。”问客服,客服说你不要用这个关键字,这是敏感词。晕。忘记最后怎么解决的了。

2.“拒绝访问, 页面包含非法关键字: XX”。只要页面出现某个敏感关键词,整个页面就不能访问,只出现这么一句话。那我删掉这关键字还不行吗?对不起,还真不行,因为后台编辑也会出现这个关键词,一样打不开,直接去数据库修改数据就出现上面的第一个问题,无法修改。最后是通过跟客服打电话才解决。页面关键词实在太多,客服发了份列表给我,貌似丢了~

3.某段时间,静态页面可以打开,博客php程序打不开,提交售后问题,说是其他用户占用了超高的CPU。这个问题处理了很久,两三天,处理完后过了几天还是出现这样的问题,如此反复3次。最后他们让我转到linux空间去了,迁移空间还要我自己down下所有数据再手动上传上去,数据库也是,又折腾了好一会。

4.由于自己疏忽,放上了一两个MP3文件,被百度抓取到了,流量猛增,一下子就用完了,在空间流量快用完时他们不会通知你,等你的网站因超流量了打不开了,要你自己上去他们网站看,去提交售后问题,他们才会告诉你,流量超了。

5.广州机房审查,搞了两个多星期,在此期间网站无法访问。

6.机房审查过后,连接不上数据库,伪静态也失效了,得自己去探索问题所在,自己去折腾解决。

7.1月18日网站又打不开了,出现“Bad Request (Invalid Hostname)”,什么提示都没有,又一次挂掉了。提交售后问题才回答,他们做了CDN加速,要我的域名重新绑定一个新的IP地址。厉害,你不通知客户,直接先把IP地址给换了,什么提示都没有,等到用户发现自己的网站打不开,提交售后问题后才回答。这就是名网的服务。

8.最恶心的一条来了,前几天打开网站,莫名其妙的出现卖MSN监视软件的网站来,更恶心的是,它不是跳转到另外一个域名另外一个网站,它是直接绑定了,webbang.net/download.html就是这个监视软件的下载页面,靠,搞到有人以为是我在卖这些东西。到后台一看,说我网站有违法内容:twitter。确实放了一个twitese在上面,但未公开。好,那我删了,删完提交售后问题,提交了一大堆,结果得到的回复是“用户不好意思!你的问题已经反映给我们领导”之类的,没帮我开通。晕死,再提交一次,说你先帮我开通空间再说啊。得到的回复是:“twitter 请关闭相关服务”。。我抓狂了,不把用户提交的售后问题当回事,之前我已经明确说我已经删除twitter相关的所有东西了。无奈再提交一次,终于开通。。实际上我要他开通的唯一目的就是备份数据库。网站关闭的时候你连进入自己数据库的权限都没有。我再啰嗦吐下苦水,你发现违法内容,一不通知我去删除,二停止了我的空间,让我连备份的机会都没有,三停止后还跳转到买软件的网站,四客户服务拖延,这是什么行为?简直是强盗+欺诈行为。

千万别买名网,或者别买国内空间,因为上面的问题很多都是国内政策导致的,只是名网处理得很差。

不过名网还有一点可以称赞的就是,虽然普通客服态度不怎么样,但技术客服态度很好。

杂想片段

2010-1-16 评论(10) 分类:随记 Tags:

1

中国3.8亿网民,有多少人会想去翻墙?根据昨天看到的统计,twitter上的中文用户半年内有发过RT的不过3万多,翻墙活跃的人一般都会上twitter,这样估计一下,就算翻墙的人有 100万,也只占中国网民的0.3%,所以在twitter上偶尔看到“翻墙已经成为中国网民的一项基本技能”“全民翻墙”这些说法觉得很不靠谱。

2

实际上翻墙很容易,但对一般网民来说,翻墙干嘛?翻墙可以上 youtube facebook blogspot twitter 原版,和其他一系 列被封的网站,但对大部分人来说,这些都不是上网必需品,何必折腾着特地翻出去上这些网站?很多人翻墙后说,墙外也就那样,没什么好看的,目前还没有多大 的理由能吸引普通网民翻墙。你可以说twitter上很自由,不像新浪微博审核那么严格,但一般人只想记录生活,跟身边的人交流,新浪微博已经足够了,没 事讨论那么多敏感话题干嘛。不能否认一般人不爱折腾这个事实,我就是很少翻墙的,用puff也嫌麻烦,除非发现一篇很想看的blogspot,或者看看 twitterAPI文档,才会去翻。

3

百度在某一个圈子里名声是挺臭的,实际上它被曝的罪状和黑幕也不少,1 2 ,相对google的不作恶,百度显得为了利益十恶不赦。但看到有人说鄙视用百度搜索的人,感觉真的没必要,实际上网民管你恶不恶,只要不恶到我身上来就 行了,哪家好用就用哪家,其实很多时候搜索正常的东西,百度会比google好用,特别是中文百科类和提问类的,百度百科和知道的结果往往就是搜索者想要 的,另外百度也足够稳定,有时我会打不开google,可能是自身网络的原因,但百度几乎没碰到打不开的情况。当然也有很多时候google比百度好用, 搜索冷门的东西,新奇的东西,英文资料,google得到的结果都会比百度多而且好。所以我都是看情况几乎平均地使用两个搜索引擎的。对于搜索引擎这种工 具,哪个好用就用哪个,再正常不过了。

4

我比较恶心两类人:超装逼的人和愤青。一般人偶尔有意无意也会装一下,当然我也会,觉得这没什么问题,恶心的就是那些无时无刻都在装逼的,就是要让 你觉得他比普通人高一筹,就是要体现自我优越感。其实很多专家可以直接称之为装逼家了。对于那些愤青,有人说中国相对朝鲜伊朗还是好的他就激动地“教导” 你,说用百度好他就跳起来开骂,说不抵制家乐福就骂你卖国,不管正派反派,都足够让人恶心的。

5

记得小时候第一次写作文么,应该大部分都是,扶老奶奶过马路,捡到一分钱交给警察吧?我们从小就被培养写这些有“内涵”的文章,而不是记录真实的文 字。小时候被教导要诚实,不能撒谎,却不仅老师一直在撒谎,还要教唆人写撒谎的作文。但这也不能怪他们,因为我们国家的主流就是这样,看看新闻联播,新华 网人民网……如果没有这样的教育,怎么会接受高也的“心神不宁”,怎么相信 这个 这个 这个 呢。感觉还是当个非主流的人好~不过可能一不小心就会被变成 不明真相的群众 别有用心的人~

6

中国互联网环境实在太差,可能短期内改变不了,但等再过些年,整体素质提高了,现在的年轻一代成爸妈级人物了,情况总会大不一样。

7

虽然一直在关注这几天在twitter上炒爆了的谷歌退出中国事件,但不知道该说什么,只可惜了中国失去一家这么难得的好公司。