Flex DataGrid删除标题MouseOver突出显示

时间:2009-12-16 16:39:21

标签: flex datagrid

我想删除在DataGrid的标题上发生鼠标悬停时出现的突出显示。

4 个答案:

答案 0 :(得分:2)

如果您不需要对该列进行排序,只需将sortable设置为false,并且在鼠标悬停时不会突出显示。

答案 1 :(得分:1)

也许以下黑客会帮助某人。 我只是想从datagrid标题(flex 3)中删除翻转和选择。

我做了什么:

1)创建DataGridHeader的新子类并覆盖drawHeaderIndicator和drawSelectionIndicator

package
{
 import flash.display.Sprite;

 import mx.controls.dataGridClasses.DataGridHeader;
 import mx.controls.listClasses.IListItemRenderer;

 public class MyDataGridHeader extends DataGridHeader
 {
  public function MyDataGridHeader()
  {
   super();
  }

  override protected function drawHeaderIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void
  {

  }

  override protected function drawSelectionIndicator(indicator:Sprite, x:Number, y:Number, width:Number, height:Number, color:uint, itemRenderer:IListItemRenderer):void
  {

  }
 }
}

2)创建一个新的DataGrid子类 - 让我们说MyDataGrid并在构造函数中执行以下操作:

public function MyDataGrid()
  {
   super();
   this.mx_internal::headerClass = MyDataGridHeader;
   ....
  }

这将强制DataGrid使用您的DataGridHeader。

答案 2 :(得分:0)

这可能会对您有所帮助:

http://jcraane.blogspot.com/2009/10/flex-how-to-create-different-rollover.html

基本上我发现的是你不能只改变它。它需要扩展头类和其他一些我不知道该怎么做的东西。

答案 3 :(得分:0)

别忘了在MyDataGrid文件中添加此导入

导入mx.core.mx_internal;

非常感谢。