定义Flex DataGrid组件样式外观方法指导

时间:2021-02-20 16:20:57
  • 本文向大家介绍一下如何定义Flex DataGrid组件样式外观,在实际程序开发中,有时候需要对Flex DataGrid组件可视化的外观进行修改,以满足功能需要。

 

在学习Flex的过程中,你可定会用到Flex DataGrid组件,这里和大家分享一下如何定义Flex DataGrid组件样式外观,在实际程序开发中,有时候需要对Flex DataGrid组件可视化的外观进行修改,以满足功能需要。

定义Flex DataGrid组件样式外观

在实际程序开发中,有时候需要对Flex DataGrid组件可视化的外观进行修改,以满足功能需要。例如,修改数据显示格式、修改DataGrid的样式和外观、自定义单元格等。

修改数据显示格式

当Flex DataGrid组件显示出数据后,有些数据格式可能不是我们所需要的。这个时候,就要修改数据格式,把数据修改成有意义的,可以使读者更容易读懂的格式。比如货币格式前面要加美元符号或者人民币符号,有时候从数据库中读出的是0或1的布尔值,再比如电话号码等。

下面就以15.2.1节的实例为例,把Phone列修改成前面有区号的电话号码,步骤如下。

◆修改GetData1函数,在绑定数据源的语句之后,增加格式化语句,增加的代码如下所示:
 

 
  1. //格式化数据  
  2. dg1.getColumnAt(1).labelFunction=phoneFormatter

◆phoneFormatter是格式化数据的函数,把电话号码前面加上区号“0755”,代码如下所示:
 

 
  1. /*********************************  
  2. *格式化电话号码  
  3. **/  
  4. privatefunctionphoneFormatter(item:Object):String  
  5. {  
  6. return"0755-"+item.Phone;  

再次编译代码并运行。

自定义Flex DataGrid组件的标题

在显示完Flex DataGrid组件的数据之后,有时候列的标题是数据库中已经定义好的列名称,对于用户来说,不容易读懂,需要重新定义,那就需要自定义Flex DataGrid组件的标题了。自定义标题要用到的类是HeaderRenderer,HeaderRenderer类在类dataGridClasses中。下面就利用HeaderRenderer类来实现自定义标题的功能。

还是以15.2.1节的实例为基础,加一些代码。在GetData1函数中加入如下代码:
 

 
  1. //自定义标题  
  2. vardgc0:DataGridColumn=dg1.getColumnAt(0);  
  3. dgc0.headerText="姓名";  
  4. vardgc1:DataGridColumn=dg1.getColumnAt(1);  
  5. dgc1.headerText="电话";  
  6. vardgc3:DataGridColumn=dg1.getColumnAt(3);  
  7. dgc3.headerText="软件名称"

代码的作用是把第一行的标题改成“姓名”,第二行的标题改为“电话”,第三行的标题改为“软件名称”。