首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Datatip在Datagrid中自定义Itemrender

使用Datatip在Datagrid中自定义Itemrender
EN

Stack Overflow用户
提问于 2009-08-26 13:37:22
回答 4查看 2.5K关注 0票数 2

我有一个包含一个datagridcolumn的datagrid。如果没有自定义的项目呈现器,我可以使用datatipfunction来显示自定义的datatip,但是现在我想要有一个自定义的项目呈现来对行进行不同的着色。因此,我扩展了一个标签并更改了数据方法,但现在我的datatipfunction不再起作用。

有什么想法吗?

提前感谢

塞巴斯蒂安

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-19 22:45:32

我知道这个问题有点老了,但是我刚刚遇到了同样的问题,并通过查看标准DataGridItemRenderer类是如何做到的来解决它的。

因此,基本上我最终将toolTipShowHandler()函数复制到我的类中(没有任何修改),实现了IDropInListItemRenderer接口,并在渲染器的commitProperties()函数中添加了几行代码,这些代码也受到了DataGridItemRenderer的启发。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2012-01-24 04:53:50

我参加聚会有点晚了,但我遇到了这个问题,因为我有一个自定义的图片DataGridItemRenderer。下面的链接中描述的解决方案对我来说效果很好:

http://www.kalengibbons.com/blog/index.php/2008/12/displaying-datatips-when-using-an-itemrenderer/

要点是,您可以重写项目渲染器的updateDisplayList(),并通过调用dataTipFunction和/或像使用内置项目渲染器一样使用dataTipField来设置工具提示。

票数 1
EN

Stack Overflow用户

发布于 2014-06-02 18:43:30

将cbranch给出的链接内容复制到这里。stackoverflow在保存代码片段方面更可靠

在使用itemRenderer时显示DataTips

在DataGridColumn中使用itemRenderers的一个缺点是失去了它通常提供的dataTip功能。好吧,这里有一个伪造功能的方法。

首先,像往常一样将dataTipField或dataTipFunction添加到DataGridColumn。

代码语言:javascript
复制
<mx:DataGridColumn  headerText="DataTip"
      dataField="name1"
      showDataTips="true"
      dataTipField="description1" />

然后,在您的itemRenderer中添加以下代码,以便能够利用该信息并显示工具提示。

代码语言:javascript
复制
private function getToolTip():String{
    var dg:DataGrid = listData.owner as DataGrid;
    var func:Function = dg.columns[listData.columnIndex].dataTipFunction;
    if(func != null){
           return func.call(this, this.data);
    }else if(dg.columns[listData.columnIndex].dataTipField.length){
           return data[dg.columns[listData.columnIndex].dataTipField];
    }else{
           return "";
     }
 }

override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
     super.updateDisplayList(unscaledWidth, unscaledHeight);
     this.toolTip = getToolTip();
  }

这同时适用于dataTipFields和dataTipFunctions,并允许您以相同的方式对待列中的dataTips,无论您是否正在使用itemRenderer。唯一的细微差别是标签的位置,但这可以很容易地通过样式进行修改。你可以在这里下载完整的源代码,以获得如何工作的功能示例。

source

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1334749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档