Flex DataGrid删除标题MouseOver突出显示 [英] Flex DataGrid Remove Header MouseOver Highlighting

查看:120
本文介绍了Flex DataGrid删除标题MouseOver突出显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

解决方案

可能是以下内容:

我想删除在DataGrid的标头上发生鼠标移动时出现的突出显示。黑客会帮助某人。
我只想从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();
}

覆盖保护函数drawHeaderIndicator(指示符:Sprite,x:Number,y:Number,width:Number,height:Number,color:uint,itemRenderer:IListItemRenderer):void
{

}

覆盖保护函数drawSelectionIndicator(指示符: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 。


I want to remove the highlight that occurs when mouse over occurs on the headers of a DataGrid.

解决方案

Maybe the following hack will help someone. I simply wanted to remove the rollover and selection from datagrid header (flex 3).

What I made:

1) Create a new subclass of DataGridHeader and override drawHeaderIndicator and 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) Create a new subclass of DataGrid - lets say MyDataGrid and in constructor do the following:

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

This will force DataGrid to use your DataGridHeader.

这篇关于Flex DataGrid删除标题MouseOver突出显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆