自定义Flash的DataGrid组件中字体的外观
2007-01-23 22:18
381 查看
今天写了一个CellRenderer,实现自定义Flash的DataGrid组件中字体的外观,使其支持hmtl格式。文件如下:
文件名:HtmlCellRenderer.as
/****************************************************************************
类名:HtmlCellRenderer
作者:Bob Kang 2007/01/23
****************************************************************************/
class HtmlCellRenderer extends mx.core.UIComponent
{
private var HtmlLabel;
private var owner;
private var listOwner;
private static var PREFERRED_HEIGHT_OFFSET = 4;
private static var PREFERRED_WIDTH = 100;
private var startDepth:Number = 1;
public function HtmlCellRenderer()
{
}
var c = HtmlLabel = this.createLabel("HtmlLabel", startDepth);
c.styleName = listOwner;
c.selectable = false;
c.tabEnabled = false;
c.background = false;
c.border = false;
c.html=true;
size();
}
public function size():Void
{
var c = HtmlLabel;
c.setSize(__width, __height);
}
public function getPreferredHeight():Number
{
return owner.__height + PREFERRED_HEIGHT_OFFSET;
}
public function setValue(suggestedValue:String, item:Object, selected:Boolean):Void
{
if (item==undefined){
HtmlLabel._visible = false;
}
HtmlLabel.htmlText = suggestedValue;
}
}
用法:myDataGrid.getColumnAt(i).cellRenderer = "HtmlCellRenderer";
效果如图所示:
文件名:HtmlCellRenderer.as
/****************************************************************************
类名:HtmlCellRenderer
作者:Bob Kang 2007/01/23
****************************************************************************/
class HtmlCellRenderer extends mx.core.UIComponent
{
private var HtmlLabel;
private var owner;
private var listOwner;
private static var PREFERRED_HEIGHT_OFFSET = 4;
private static var PREFERRED_WIDTH = 100;
private var startDepth:Number = 1;
public function HtmlCellRenderer()
{
}
var c = HtmlLabel = this.createLabel("HtmlLabel", startDepth);
c.styleName = listOwner;
c.selectable = false;
c.tabEnabled = false;
c.background = false;
c.border = false;
c.html=true;
size();
}
public function size():Void
{
var c = HtmlLabel;
c.setSize(__width, __height);
}
public function getPreferredHeight():Number
{
return owner.__height + PREFERRED_HEIGHT_OFFSET;
}
public function setValue(suggestedValue:String, item:Object, selected:Boolean):Void
{
if (item==undefined){
HtmlLabel._visible = false;
}
HtmlLabel.htmlText = suggestedValue;
}
}
用法:myDataGrid.getColumnAt(i).cellRenderer = "HtmlCellRenderer";
效果如图所示:
相关文章推荐
- 整合重复代码,生成自定义的列(组件)整合重复代码,生成自定义的datagrid(组件)若要详
- 使用MXDataGridItemRenderer组件为DataGrid自定义显示模式
- 定义Flex DataGrid组件样式外观方法指导
- 强大的DataGrid组件[7]_自定义DataGrid——Silverlight学习笔记[15]
- [Flex]自定义DataGrid组件的标题
- FlashSwing教你如何修改组件的外观
- 强大的DataGrid组件[10]_自定义脚模板(FooterTemplate)
- java用JBarcode组件生成条形码(支持自定义字体及颜色)
- Flex 自定义组件外观
- 学习Flash CS3的内置组件(二) 更改组件的外观
- 强大的DataGrid组件[9]_自定义头模板
- [转]Flex 自定义组件外观
- 学习Flash CS3的内置组件(二) 更改组件的外观
- 自定义分页组件DATAGRID-DataTable
- 用flash文件作为组件的外观
- Flash自定义组件制作
- 强大的DataGrid组件[10]_自定义脚模板(FooterTemplate)——Silverlight学习笔记[18]
- 强大的DataGrid组件[9]_自定义头模板(HeaderTemplate)——Silverlight学习笔记[17]
- 制作自定义的 Flash 面板组件
- 自定义分页组件DATAGRID-SQL