有才华的人,别忘记给滋润你的那块土壤施肥
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
28 随笔 :: 5 文章 :: 147 评论 :: 0 Trackbacks
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(15)
给我留言
查看公开留言
查看私人留言
我参与的团队
深圳Java俱乐部(0/0)
随笔分类
Flex(7)
(rss)
It's not about me
(rss)
java基础(2)
(rss)
js&css(3)
(rss)
swing(13)
(rss)
数据库(2)
(rss)
转贴(3)
(rss)
随笔档案
2011年3月 (1)
2011年1月 (1)
2010年1月 (1)
2009年11月 (2)
2009年8月 (5)
2009年7月 (1)
2009年6月 (1)
2009年4月 (1)
2009年3月 (1)
2009年2月 (1)
2008年12月 (2)
2008年11月 (1)
2008年9月 (1)
2008年8月 (1)
2008年7月 (2)
2008年5月 (1)
2008年4月 (5)
2008年3月 (5)
文章分类
Swing
(rss)
web
(rss)
记得常去逛逛
desktop form
developerWorks 中国
infoq
javadesktop
javalobby
javase
sun中国
搜索
最新评论
1. re: 固定JTable中的前几列
评论内容较长,点击标题查看
--founder
2. re: 固定JTable中的前几列
行数很多时(如2W行,30列),paintComponent会导致内存溢出
--founder
3. re: mysql存储过程学习及java调用存储过程[未登录]
不错,学习了
--linkin
4. re: 【三八节】 女程序员的求友说明书 [未登录]
haha
--zxx
5. re: mysql存储过程学习及java调用存储过程[未登录]
是个入门的好例子,我顺利的跑通了,只有菜鸟才会骂
--小鱼
阅读排行榜
1. mysql存储过程学习及java调用存储过程(32235)
2. 用Flex调用SWF查看PDF(12522)
3. Flex事件讲解【转】(12407)
4. java实现系统托盘(5632)
5. DataGrid透明显示背景图片,及表头透明(4535)
评论排行榜
1. 用Flex调用SWF查看PDF(50)
2. mysql存储过程学习及java调用存储过程(30)
3. java实现系统托盘(15)
4. 【三八节】 女程序员的求友说明书 (7)
5. Flex Hack 02:DataGrid列尾,用于数据汇总(6)
DataGrid透明显示背景图片,及表头透明
今天有人问我flex中怎样向DataGrid添加背景图片,以及怎样使表格透明。
其实这个查下文档就知道,可以如下用setStyle设置:
dataGrid.setStyle(
'
backgroundAlpha
'
,alpha)
但是,没多久又告诉我,表头并不透明,看不到后面的背景图片,查了下api,简单继承下DataGrid,重写drawHeaderBackground方法就行,如:
override
protected
function drawHeaderBackground(headerBG:UIComponent):
void
{
//
透明参数
headerBG.alpha
=
_headerAlpha;
//
是否可见
headerBG.visible
=
_headerVisible;
super
.drawHeaderBackground(headerBG);
}
效果如下:
1,未处理的DataGrid,表格不透明
2,处理DataGrid后
测试效果可以点击:
http://www.munkiihouse.com/flexapps/StyleDataGrid/StyleDataGridDemo.html
代码:
1、继承于DataGrid:
package
com.mh.components
{
import
mx.controls.DataGrid;
import
mx.core.UIComponent;
public
class
StyleDataGrid
extends
DataGrid
{
private
var _headerBGAlpha:Number
=
1
;
public
function set headerBGAlpha(value:Number):
void
{
_headerBGAlpha
=
value;
invalidateDisplayList();
}
private
var _headerBGVisible:Boolean
=
true
;
public
function set headerBGVisible(value:Boolean):
void
{
_headerBGVisible
=
value;
invalidateDisplayList();
}
2、测试用例:
<?
xml version="1.0" encoding="utf-8"
?>
<
mx:Application
xmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="absolute"
xmlns:mhc
="com.mh.components.*"
backgroundColor
="#FF8000"
backgroundGradientColors
="[#ff8040, #e14900]"
>
<
mx:Panel
x
="10"
y
="10"
width
="550"
height
="500"
layout
="absolute"
title
="Albums"
paddingBottom
="10"
paddingLeft
="10"
paddingRight
="10"
paddingTop
="10"
backgroundImage
="@Embed('bg.jpg')"
>
<
mhc:StyleDataGrid
id
="sdg_albums"
dataProvider
="{Catalog.cataglog}"
left
="10"
right
="10"
top
="10"
bottom
="10"
>
<
mhc:columns
>
<
mx:DataGridColumn
dataField
="ARTIST"
headerText
="Artist"
width
="200"
/>
<
mx:DataGridColumn
dataField
="TITLE"
headerText
="Title"
/>
<
mx:DataGridColumn
dataField
="YEAR"
headerText
="Year"
width
="60"
/>
</
mhc:columns
>
</
mhc:StyleDataGrid
>
</
mx:Panel
>
<
mx:Panel
x
="568"
y
="10"
width
="300"
height
="200"
layout
="vertical"
title
="Controls"
paddingTop
="10"
paddingRight
="10"
paddingBottom
="10"
paddingLeft
="10"
>
<
mx:FormItem
label
="Header Alpha:"
width
="100%"
labelWidth
="120"
>
<
mx:HSlider
id
="hs_h_alpha"
value
="1"
minimum
="0"
maximum
="1"
snapInterval
="0.1"
allowTrackClick
="true"
change
="{sdg_albums.headerBGAlpha = hs_h_alpha.value}"
width
="100"
/>
</
mx:FormItem
>
<
mx:FormItem
label
="Header Visable:"
labelWidth
="120"
>
<
mx:CheckBox
id
="cb_visible"
label
="Visable"
selected
="true"
change
="{sdg_albums.headerBGVisible = cb_visible.selected}"
/>
</
mx:FormItem
>
<
mx:FormItem
label
="Background Alpha:"
width
="100%"
labelWidth
="120"
>
<
mx:HSlider
id
="hs_bg_alpha"
value
="0.5"
minimum
="0"
maximum
="1"
snapInterval
="0.1"
allowTrackClick
="true"
change
="{sdg_albums.setStyle('backgroundAlpha',hs_bg_alpha.value)}"
width
="100"
/>
</
mx:FormItem
>
</
mx:Panel
>
</
mx:Application
>
3、测试数据:
package
{
public class Catalog
{
public static function get cataglog():XMLList
{
return catalog..CD;
}
private static var catalog:XML =
<
CATALOG
>
<
CD
>
<
TITLE
>
Empire Burlesque
</
TITLE
>
<
ARTIST
>
Bob Dylan
</
ARTIST
>
<
COUNTRY
>
USA
</
COUNTRY
>
<
COMPANY
>
Columbia
</
COMPANY
>
<
PRICE
>
10.90
</
PRICE
>
<
YEAR
>
1985
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Hide your heart
</
TITLE
>
<
ARTIST
>
Bonnie Tylor
</
ARTIST
>
<
COUNTRY
>
UK
</
COUNTRY
>
<
COMPANY
>
CBS Records
</
COMPANY
>
<
PRICE
>
9.90
</
PRICE
>
<
YEAR
>
1988
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Greatest Hits
</
TITLE
>
<
ARTIST
>
Dolly Parton
</
ARTIST
>
<
COUNTRY
>
USA
</
COUNTRY
>
<
COMPANY
>
RCA
</
COMPANY
>
<
PRICE
>
9.90
</
PRICE
>
<
YEAR
>
1982
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Romanza
</
TITLE
>
<
ARTIST
>
Andrea Bocelli
</
ARTIST
>
<
COUNTRY
>
EU
</
COUNTRY
>
<
COMPANY
>
Polydor
</
COMPANY
>
<
PRICE
>
10.80
</
PRICE
>
<
YEAR
>
1996
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
When a man loves a woman
</
TITLE
>
<
ARTIST
>
Percy Sledge
</
ARTIST
>
<
COUNTRY
>
USA
</
COUNTRY
>
<
COMPANY
>
Atlantic
</
COMPANY
>
<
PRICE
>
8.70
</
PRICE
>
<
YEAR
>
1987
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Black angel
</
TITLE
>
<
ARTIST
>
Savage Rose
</
ARTIST
>
<
COUNTRY
>
EU
</
COUNTRY
>
<
COMPANY
>
Mega
</
COMPANY
>
<
PRICE
>
10.90
</
PRICE
>
<
YEAR
>
1995
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
1999 Grammy Nominees
</
TITLE
>
<
ARTIST
>
Many
</
ARTIST
>
<
COUNTRY
>
USA
</
COUNTRY
>
<
COMPANY
>
Grammy
</
COMPANY
>
<
PRICE
>
10.20
</
PRICE
>
<
YEAR
>
1999
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
For the good times
</
TITLE
>
<
ARTIST
>
Kenny Rogers
</
ARTIST
>
<
COUNTRY
>
UK
</
COUNTRY
>
<
COMPANY
>
Mucik Master
</
COMPANY
>
<
PRICE
>
8.70
</
PRICE
>
<
YEAR
>
1995
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Big Willie style
</
TITLE
>
<
ARTIST
>
Will Smith
</
ARTIST
>
<
COUNTRY
>
USA
</
COUNTRY
>
<
COMPANY
>
Columbia
</
COMPANY
>
<
PRICE
>
9.90
</
PRICE
>
<
YEAR
>
1997
</
YEAR
>
</
CD
>
<
CD
>
<
TITLE
>
Tupelo Honey
</
TITLE
>
<
ARTIST
>
Van Morrison
</
ARTIST
>
<
COUNTRY
>
UK
</
COUNTRY
>
<
COMPANY
>
Polydor
</
COMPANY
>
<
PRICE
>
8.20
</
PRICE
>
<
YEAR
>
1971
</
YEAR
>
</
CD
>
</
CATALOG
>
;
}
}
posted on 2009-03-27 22:59
kissjava
阅读(4535)
评论(4)
编辑
收藏
所属分类:
Flex
评论
#
re: DataGrid透明显示背景图片,及表头透明
2009-04-30 11:54
谢谢
flex3没试成功,源程序是flex2版的
楼主请指点: xwy55555@msn.com
回复
更多评论
#
re: DataGrid透明显示背景图片,及表头透明
2009-05-02 23:49
枯宽
没用过flex2,不知道有什么错误?
回复
更多评论
#
就好玩小游戏
2009-06-03 11:01
www.9haowan.com
http://www.munkiihouse.com/flexapps/StyleDataGrid/srcview/index.html
这有源码:flex3可以成功的。
回复
更多评论
#
请求帮个忙
2012-08-23 19:33
李志奎
这个文章的解决方案,麻烦您能不能指导一下,邮箱lsksll@163.com
急用,谢谢
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
Flex Hack 02:DataGrid列尾,用于数据汇总
Flex Hack 01:labelFunction的使用
actionscript之滤镜
DataGrid透明显示背景图片,及表头透明
【转】Flex中元数据标签
用Flex调用SWF查看PDF
Flex事件讲解【转】
Powered by:
BlogJava
Copyright © kissjava