`

在DataGrid 中使用LinkButtion(重写LinkButtion)

    博客分类:
  • flex
阅读更多

在DataGrid 中使用LinkButtion(重写LinkButtion):
(1) MyGrid.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
      creationComplete="application1_creationCompleteHandler(event)">
 <fx:Declarations>
  <!-- Place non-visual elements (e.g., services, value objects) here -->
 </fx:Declarations>
 
 <mx:DataGrid id="mygrid">
  <mx:columns>
   <mx:DataGridColumn dataField="name" headerText="姓名"/>
   <mx:DataGridColumn dataField="sex" headerText="性别"/> 
   <mx:DataGridColumn dataField="age" headerText="年龄"/>
   <mx:DataGridColumn dataField="name2" headerText="姓名2" itemRenderer="{item}"/>
   <mx:DataGridColumn dataField="name2" headerText="姓名2" itemRenderer="{item2}"/>
  </mx:columns>
 </mx:DataGrid>
 
 <fx:Script>
  <![CDATA[
   import but.MyLinkButton;
   
   import mx.collections.ArrayCollection;
   import mx.controls.LinkButton;
   import mx.events.FlexEvent;
   [Bindable]  //必须绑定,否则不显示
   private var item:ClassFactory; //没有重写
   [Bindable]
   private var item2:ClassFactory; //必须重写,否则无法处理,点击之后需要处理的

   protected function application1_creationCompleteHandler(event:FlexEvent):void
   {
    var arr:ArrayCollection=new ArrayCollection();
    var obj:Object=new Object();
    obj.name="1";
    obj.age="20"
    obj.sex="男";
    arr.addItem(obj);
    
    obj=new Object();
    obj.name="11";
    obj.age="22"
    obj.sex="男";
    arr.addItem(obj);
    
    obj=new Object();
    obj.name="12";
    obj.age="23"
    obj.sex="女";
    arr.addItem(obj);
    
    mygrid.dataProvider=arr;
    
    item=new ClassFactory(LinkButton); //没有重写的button,没有什么用处
    item.properties={label:'修改',data:'edit'};
    
    //重写LinkButton,重写protected function clickHandler(event:MouseEvent):void,只有继承才可以改变这个方法,子类覆盖父类
    item2=new ClassFactory(MyLinkButton);
    //item2.properties={label:'删除',data:'delete'}; //获取的data=null
    var dobj:Object=new Object();
    dobj.name="abc";
    item2.properties={label:'删除',data:dobj}; //data是个object,可以获取到值
   }

  ]]>
 </fx:Script>
</s:Application>

 

(2) MyLinkButton.as:

package but
{
 import flash.events.MouseEvent;
 
 import mx.controls.Alert;
 import mx.controls.LinkButton;
 
 public class MyLinkButton extends LinkButton
 {
  public function MyLinkButton()
  {
   super();
  }
  
  //重写一个方法,必须加override
  override protected function clickHandler(event:MouseEvent):void{
   super.clickHandler(event); //可写可不写
   Alert.show("--"+this.data.name,"提示");
   Alert.show(super.data.name); //this.data.name 与super.data.name一样
  }
  
  //如果没有data set方法,上面的this.data as String =null
  //如果页面上data 传的是个object,不需要 data set方法
  /*override public function set data(value:Object):void
  {
   super.data=value;
  }*/
 }
}

 

还有一个问题,就是LinkButton的样式?

分享到:
评论

相关推荐

    在DataGrid中使用CheckBox,实现全选功能

    这篇博客“在DataGrid中使用CheckBox,实现全选功能”详细介绍了如何实现这一需求。 首先,我们需要在DataGrid的列定义中添加一个CheckBox列。在WPF中,可以使用DataGridTemplateColumn来自定义列模板,将CheckBox...

    WPF_MVVM中DataGrid列中使用ComBox绑定

    总结来说,WPF MVVM中在DataGrid列中使用ComBox绑定,需要理解DataGrid、DataTemplate、ComBox以及MVVM的双向绑定原理。通过定义ViewModel、设置DataGrid和ComBox的绑定属性,以及处理命令,我们可以实现用户在...

    Datagrid中使用combobox

    本篇文章将深入探讨如何在DataGrid中集成ComboBox,以及其在实际应用中的使用技巧。 首先,我们需要理解DataGrid和ComboBox的基本概念。DataGrid是WPF中的一个UI元素,用于显示数据集合,并允许用户进行交互,如...

    DataGrid中嵌入comBox

    在Windows Presentation Foundation(WPF)开发中,DataGrid控件是一种强大的工具,用于展示和编辑表格数据。在某些场景下,我们可能需要在DataGrid的某一列中嵌入ComboBox控件,以提供用户多选或者下拉选择的功能。...

    WPF在DataGrid列中使用ComboBox绑定,改变ComboBox可回传至绑定的实体,ComboBox绑定的是一个实体

    WPF在DataGrid列中使用ComboBox绑定,改变ComboBox可回传至绑定的实体, 网上找了好久,终于搞定了,不是那个用枚举的例子!!ComboBox绑定的是一个实体列表. 程序名字叫 给唐僧选老婆!哈哈

    DataGrid中嵌套DataGrid

    3. 绑定数据源:使用DataSourceID属性将DataGrid与数据源关联,或者在代码-behind中使用DataBind()方法手动绑定。 4. 自定义列和样式:通过设置Columns属性来指定显示哪些字段,以及如何格式化它们。 对于嵌套...

    vb中datagrid控件的详细使用方法

    在本教程中,我们将深入探讨`DataGrid`控件的详细使用方法,帮助你更好地理解和应用这个工具。 1. **添加DataGrid控件** 在VB中,你可以通过工具箱(Toolbox)来添加`DataGrid`控件到窗体(Form)。只需从工具箱中...

    Flex的DataGrid中使用CheckBox

    Flex的DataGrid中使用CheckBox. 大家共同研究

    easyui的datagrid中editor和combogrid的结合使用

    #### 三、在datagrid中使用combogrid作为editor 在本案例中,作者希望实现在datagrid中编辑某列数据时,使用combogrid作为编辑器的功能。具体来说,当用户选择一个分类时,能够自动显示出该分类对应的价格和单位...

    在Flex的DataGrid中使用CheckBox

    ### 在Flex的DataGrid中使用CheckBox #### 一、引言 在Flex应用程序开发中,DataGrid 是一种常用的UI组件,用于展示数据列表,并提供了一系列的功能,如排序、过滤等。有时,为了增加用户交互性或实现特定功能,...

    WPF DataGrid 中显示图片的小例子

    在Windows Presentation Foundation (WPF) 中,DataGrid控件是一个非常强大的数据展示工具,它可以用于显示和编辑结构化的数据。...希望这个教程对你在实际项目中使用WPF DataGrid展示图片有所帮助。

    VB 6 在DataGrid表格中实现下拉列表框.rar

    VB 6.0 在DataGrid表格中实现下拉列表框,大家可以看截图,在如演示效果所示的DataGrid表格中,单击“单位”一列任意行数据,会显示出一个下拉框,供输入者选择单位,扩展了DataGrid的功能,增加了易用性,提升了...

    在DataGrid控件中设置单元格的数据显示格式.

    在.NET框架中,DataGrid控件是一个常用的组件,用于显示数据源中的表格数据。它广泛应用于Windows Forms和ASP.NET应用程序中。本节我们将深入探讨如何在DataGrid控件中设置单元格的数据显示格式,以便更好地呈现和...

    ASP.NET中DataGrid的使用指南

    ASP.NET中的DataGrid控件是用于展示表格数据的关键组件,尤其在处理数据库查询结果时非常实用。本指南将深入解析DataGrid的使用方法、属性、事件以及代码片段,旨在帮助初学者快速掌握其核心功能。 一、DataGrid...

    WPF实现DataGrid嵌入ComBox绑定

    在WPF中,DataGrid控件常用于展示和操作大量数据,而ComboBox则是一个下拉列表控件,适用于提供用户选择的选项。本篇文章将深入探讨如何在WPF应用中实现DataGrid嵌入ComboBox并进行数据绑定。 首先,我们需要理解...

    WPF MVVM 模式使用DataGrid

    **在MVVM中使用DataGrid** 1. **数据绑定**:在MVVM中,DataGrid的数据源通常通过ViewModel中的ObservableCollection对象进行绑定。ObservableCollection是.NET Framework提供的一种动态数据集合,当集合中的元素...

    在DataGrid控件中添加自定义编号列

    - 使用GridView控件:在ASP.NET中,可以使用GridView替代DataGrid,它同样支持自定义列。 - 在ASP.NET中,通常通过后台代码处理数据源和列的设置,然后在前端通过ASP.NET标记语言(ASPX)来显示控件。 6. **优化...

    WPF DataGrid合并单元格(模板列嵌套DataGrid)

    在WPF(Windows Presentation Foundation)开发中,DataGrid控件是一种常用的数据展示工具,它可以方便地展示和操作表格数据。本教程将详细讲解如何在DataGrid中实现单元格的合并,以及如何在模板列中嵌套另一个...

    c# DATAGRID使用方法

    在.NET框架中,C#中的DataGrid控件是用于显示数据源的一种常见方式,它能够以表格形式展示数据,提供用户交互,如排序、筛选、编辑等操作。本篇文章将详细探讨C# DATAGRID的使用方法,包括基本概念、初始化、数据...

    EasyUI Datagrid 中文排序的问题

    特别是在使用如EasyUI Datagrid这样的前端组件时,中文排序成为了开发者面临的一个常见挑战。本文将详细介绍如何解决EasyUI Datagrid中的中文排序问题,并分别从前端和后端两个角度给出具体的实现方案。 #### 二、...

Global site tag (gtag.js) - Google Analytics