1 配置渲染器的方式
<mx:DataGridColumn headerStyleName="DISPVALUE" dataField="DISPVALUE" editable="false" fontSize="12" textAlign="left" paddingLeft="5">
<mx:itemRenderer>
<fx:Component>
<local:ItemStyle>
</local:ItemStyle>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
ItemStyle
public class ItemStyle extends Label
{
/**
* 构造函数
*/
public function ItemStyle() {
super();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
if(data["POINT_X"]==0||data["POINT_X"]==null){
this.setStyle('color', 0xDD0000);
}else
this.setStyle("color",0x000000);
}
}// end of class
}
2 编码渲染器的方式添加
//必须要实现IFactory接口
public class CellColorIFactory implements IFactory
{
//回调方法
private var _cellColorFunction:Function ;
public function CellColorIFactory(f:Function){
super();
this._cellColorFunction = f;
}
public function newInstance():*{
//实例化渲染器,实现具体功能
return new CellColorItemRenderer(_cellColorFunction);
}
}
public class CellColorItemRenderer extends DataGridItemRenderer
{
//传递回调函数
private var _cellColorFunction:Function;
private var _value:Object;
public function CellColorItemRenderer(f:Function)
{
super();
this._cellColorFunction=f;
}
override public function set data(value:Object):void
{
if (value != null)
{
var data:XML=XML(value);
_value=value;
//调用父类的public function get listData():BaseListData
var dataField:String=DataGridListData(listData).dataField;
while (dataField.indexOf("@") != -1)
dataField=dataField.replace("@", "");
//改变颜色;两个参数,dataField表示数据列(名称),data表示一行数据
setStyle("color", this._cellColorFunction.call(this, dataField, value));
}
}
override public function get data():Object
{
return _value;
}
}
var itemRender:IFactory = new CellColorIFactory(cellColor);
dataColumn.itemRenderer=itemRender;
private function cellColor(dataField:String,data:Object):uint{
//设置前两页显示颜色
//设置默认显示颜色
if(!isNaN(data.x) && !isNaN(data.y)){
return 0x000000;
}else{
return 0xDD0000;
}
}
分享到:
相关推荐
easyui的datagrid的数据渲染
3. **实现行渲染器**:行渲染器通常是 `ItemRenderer` 类的子类,它会根据数据项的值来决定背景色。你可以在 `updateDisplayList()` 或 `commitProperties()` 方法中添加逻辑,检查当前行的数据,并根据条件设定背景...
在实际应用中,我们经常需要根据特定条件或者需求自定义Datagrid的行背景色,以增强视觉效果,或者突出显示特定行的信息。本文将深入探讨如何在Flex中实现对datagrid行背景色的自定义。 首先,了解Flex Datagrid的...
在这个场景中,我们创建了一个针对DataGrid的自定义Label渲染器,这个渲染器能够根据数据显示不同的颜色,以突出关键信息或者提供视觉反馈。 首先,我们来看`ADataGridTest.mxml`,这是一个Flex应用程序的主要入口...
在这个特定的场景中,我们关注的是如何为DataGrid的每一行添加双击事件,以便在用户双击某一行时触发特定的操作,如弹出删除确认对话框。以下是对这一主题的详细解释。 首先,我们需要了解的是在ASP.NET中,...
某一行某一列的单元格背景或字体颜色变化,某一行某一列的单元格背景或字体颜色变化
ItemRenderer是一个Flex组件,它负责渲染DataGrid中的每一行。在自定义ItemRenderer中,我们可以根据数据源中的属性值来设置背景颜色。以下是一个简单的自定义ItemRenderer示例: ```actionscript public class ...
另一个方法是监听DataGrid的`itemRendered`事件,当某一行渲染完成后,检查数据并设置背景色。但这种方法可能会有性能问题,因为每次渲染都会触发事件。 ```actionscript dataGrid.addEventListener(DataGridEvent....
4. 动态渲染:当数据改变时,使用JavaScript动态更新表格内容。 5. 分页处理:实现分页功能,可以通过Ajax异步请求获取指定页的数据。 6. 排序功能:监听列头点击事件,实现数据的排序逻辑。 7. 交互功能:添加行...
DataGrid内置了丰富的操作功能,如添加、编辑、删除行。这些功能可以通过设置`toolbar`选项来启用,同时配合`onBeforeEdit`、`onAfterEdit`等事件实现数据的增删改。 6. **排序和过滤** DataGrid支持单列或多列...
标题中的“使用搜索的关键字过滤DataGrid的行”是指...如果你使用的是现代Web技术,如React或Vue,那么实现方式会有不同,但基本思路相似:监听输入事件,动态更新数据源,然后让DataGrid重新渲染以显示过滤后的结果。
7. **滚动和虚拟化**:为了处理大量数据,`DataGrid` 支持虚拟化,只渲染可视区域内的行,提高性能。 8. **事件处理**:`DataGrid`提供了丰富的事件,如`CellEditEnding`、`RowEditEnding`等,允许开发者在数据更改...
1. **自定义列渲染**:你可以重写DataGrid的`OnDrawColumnCell`事件,根据当前行的索引判断是否应该改变背景色。例如,对于偶数行设置一种颜色,奇数行设置另一种颜色。 ```csharp private void dataGrid1_...
4. **结束拖放操作**:当鼠标松开时,需要确认拖放操作,更新数据源的顺序,并根据新的顺序重新渲染datagrid。 `datagrid-dnd.html`文件可能是示例页面,展示了如何在HTML中使用这个功能,并可能包含了相关的CSS...
在本文中,我们将深入探讨如何在Silverlight中的DataGrid控件中实现行内添加明细行以及如何进行单元格合并,以此来创建一个功能丰富的数据展示界面。Silverlight是一款由Microsoft开发的富客户端技术,用于构建具有...
DataGrid的核心是数据绑定,通过绑定到一个数据提供者(如ArrayCollection或XMLListCollection),DataGrid自动渲染数据项。 **2. 添加修改和删除按钮** 在DataGrid的每一行中添加修改和删除按钮,通常需要自定义...
- 将计算出的总计值添加到Datagrid的最后一行或顶部。可以通过扩展GridColumn类并重写`updateDisplayList()`方法来实现自定义列渲染。 2. **平均值计算**: - 计算平均值涉及到除以总数。可以结合`reduce`方法和`...
- 为了处理大数据集,DataGrid可能采用虚拟化技术,只渲染屏幕上的数据行,降低内存占用和渲染时间。 6. **与框架的集成**: - 在Java环境中,DataGrid可能与Swing、JavaFX等桌面应用框架,或者JSF、Vaadin等Web...
在本篇文章中,我们将探讨如何在Flash中对DataGrid组件进行自定义,使其显示交替的行背景颜色(即一行白色,一行灰色)。这种方法类似于Flex框架中的DataGrid样式,并且能够提高用户界面的可读性和美观度。下面将...
DataGrid通常与数据源绑定,如ObservableCollection或BindingList,来自动创建行并显示数据。每行可以包含多个列,列可以是不同类型的,包括文本、数字、日期等,当然也包括图片。 1. **添加Image列** 要在...