`
猫不吃的鱼
  • 浏览: 159324 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖市
社区版块
存档分类
最新评论

DataGrid的行渲染

    博客分类:
  • flex
阅读更多
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;
    }
 
   } 

1
0
分享到:
评论

相关推荐

    easyui的datagrid的数据渲染

    easyui的datagrid的数据渲染

    设置datagrid行背景色示例

    3. **实现行渲染器**:行渲染器通常是 `ItemRenderer` 类的子类,它会根据数据项的值来决定背景色。你可以在 `updateDisplayList()` 或 `commitProperties()` 方法中添加逻辑,检查当前行的数据,并根据条件设定背景...

    datagrid行的背景色

    在实际应用中,我们经常需要根据特定条件或者需求自定义Datagrid的行背景色,以增强视觉效果,或者突出显示特定行的信息。本文将深入探讨如何在Flex中实现对datagrid行背景色的自定义。 首先,了解Flex Datagrid的...

    flex 自定义dataGrid渲染器.根据数据变色

    在这个场景中,我们创建了一个针对DataGrid的自定义Label渲染器,这个渲染器能够根据数据显示不同的颜色,以突出关键信息或者提供视觉反馈。 首先,我们来看`ADataGridTest.mxml`,这是一个Flex应用程序的主要入口...

    C#实现给DataGrid单元行添加双击事件的方法

    在这个特定的场景中,我们关注的是如何为DataGrid的每一行添加双击事件,以便在用户双击某一行时触发特定的操作,如弹出删除确认对话框。以下是对这一主题的详细解释。 首先,我们需要了解的是在ASP.NET中,...

    FLEX里DataGrid单元格渲染

    某一行某一列的单元格背景或字体颜色变化,某一行某一列的单元格背景或字体颜色变化

    flex DataGrid改变指定行的背景颜色

    ItemRenderer是一个Flex组件,它负责渲染DataGrid中的每一行。在自定义ItemRenderer中,我们可以根据数据源中的属性值来设置背景颜色。以下是一个简单的自定义ItemRenderer示例: ```actionscript public class ...

    Flex DataGrid 改变某一行的背景颜色

    另一个方法是监听DataGrid的`itemRendered`事件,当某一行渲染完成后,检查数据并设置背景色。但这种方法可能会有性能问题,因为每次渲染都会触发事件。 ```actionscript dataGrid.addEventListener(DataGridEvent....

    模仿EXT效果的datagrid

    4. 动态渲染:当数据改变时,使用JavaScript动态更新表格内容。 5. 分页处理:实现分页功能,可以通过Ajax异步请求获取指定页的数据。 6. 排序功能:监听列头点击事件,实现数据的排序逻辑。 7. 交互功能:添加行...

    jeasyui-datagrid-datagrid

    DataGrid内置了丰富的操作功能,如添加、编辑、删除行。这些功能可以通过设置`toolbar`选项来启用,同时配合`onBeforeEdit`、`onAfterEdit`等事件实现数据的增删改。 6. **排序和过滤** DataGrid支持单列或多列...

    使用搜索的关键字过滤DataGrid的行

    标题中的“使用搜索的关键字过滤DataGrid的行”是指...如果你使用的是现代Web技术,如React或Vue,那么实现方式会有不同,但基本思路相似:监听输入事件,动态更新数据源,然后让DataGrid重新渲染以显示过滤后的结果。

    wpf datagrid

    7. **滚动和虚拟化**:为了处理大量数据,`DataGrid` 支持虚拟化,只渲染可视区域内的行,提高性能。 8. **事件处理**:`DataGrid`提供了丰富的事件,如`CellEditEnding`、`RowEditEnding`等,允许开发者在数据更改...

    NET CF下DataGrid数据行颜色交替

    1. **自定义列渲染**:你可以重写DataGrid的`OnDrawColumnCell`事件,根据当前行的索引判断是否应该改变背景色。例如,对于偶数行设置一种颜色,奇数行设置另一种颜色。 ```csharp private void dataGrid1_...

    datagrid-dnd(可以拖放的datagrid)

    4. **结束拖放操作**:当鼠标松开时,需要确认拖放操作,更新数据源的顺序,并根据新的顺序重新渲染datagrid。 `datagrid-dnd.html`文件可能是示例页面,展示了如何在HTML中使用这个功能,并可能包含了相关的CSS...

    silverlight DataGrid 行内添加明细行明细表

    在本文中,我们将深入探讨如何在Silverlight中的DataGrid控件中实现行内添加明细行以及如何进行单元格合并,以此来创建一个功能丰富的数据展示界面。Silverlight是一款由Microsoft开发的富客户端技术,用于构建具有...

    Flex中Datagrid应用(每行修改删除按钮)

    DataGrid的核心是数据绑定,通过绑定到一个数据提供者(如ArrayCollection或XMLListCollection),DataGrid自动渲染数据项。 **2. 添加修改和删除按钮** 在DataGrid的每一行中添加修改和删除按钮,通常需要自定义...

    FLEX的datagrid合计、平均值

    - 将计算出的总计值添加到Datagrid的最后一行或顶部。可以通过扩展GridColumn类并重写`updateDisplayList()`方法来实现自定义列渲染。 2. **平均值计算**: - 计算平均值涉及到除以总数。可以结合`reduce`方法和`...

    datagrid

    - 为了处理大数据集,DataGrid可能采用虚拟化技术,只渲染屏幕上的数据行,降低内存占用和渲染时间。 6. **与框架的集成**: - 在Java环境中,DataGrid可能与Swing、JavaFX等桌面应用框架,或者JSF、Vaadin等Web...

    FLASH中DataGrid改为交替背景色,一行白色,一行灰色

    在本篇文章中,我们将探讨如何在Flash中对DataGrid组件进行自定义,使其显示交替的行背景颜色(即一行白色,一行灰色)。这种方法类似于Flex框架中的DataGrid样式,并且能够提高用户界面的可读性和美观度。下面将...

    WPF DataGrid 中显示图片的小例子

    DataGrid通常与数据源绑定,如ObservableCollection或BindingList,来自动创建行并显示数据。每行可以包含多个列,列可以是不同类型的,包括文本、数字、日期等,当然也包括图片。 1. **添加Image列** 要在...

Global site tag (gtag.js) - Google Analytics