`

DataGrid中添加一列从1开始的序列,不随其它列的排序而发生混乱

    博客分类:
  • Flex
阅读更多
给DataGrid或者表格的第一列加上行序列号,以此给用户一个提示当前数据所在的行号,就类似于Excel的左边列。Flex的DataGrid并没有自动提供这样的属性。那么如何解决这个问题呢,方法有很多种,一种直接简单的办法是用labelFunction和dataProvider数据源的获取当前索引号方法可以解决。
效果如图:


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">    
<mx:Script>
<![CDATA[
      import mx.events.FlexEvent;
      import mx.events.ScrollEvent;
      import mx.controls.dataGridClasses.DataGridColumn;
      import mx.collections.XMLListCollection;
      import mx.collections.ArrayCollection;
      private var xml:XML = <root>
            <vo region='southwest1' name='name1' id='id1' actual='111' estimate='1111'/>
            <vo region='southwest2' name='name2' id='id2' actual='222' estimate='2222'/>
            <vo region='southwest3' name='name3' id='id3' actual='333' estimate='3333'/>
            <vo region='southwest4' name='name4' id='id4' actual='444' estimate='4444'/>
            <vo region='southwest5' name='name5' id='id5' actual='555' estimate='5555'/>
            <vo region='southwest6' name='name6' id='id6' actual='666' estimate='6666'/>
            <vo region='southwest7' name='name7' id='id7' actual='777' estimate='7777'/>
            <vo region='southwest8' name='name8' id='id8' actual='888' estimate='8888'/>
            <vo region='southwest9' name='name9' id='id9' actual='999' estimate='9999'/>
            <vo region='southwest' name='name10' id='id10' actual='111' estimate='3333'/>
            <vo region='southwest' name='name11' id='id11' actual='111' estimate='3333'/>
            </root>;
      [Bindable]
      private var dpFlat:XMLListCollection = new XMLListCollection(xml.vo);
    
      private function LabFunc(item:Object, column:DataGridColumn):String
      {
            return ((dpFlat.getItemIndex(item)+1).toString());
      }
]]>
</mx:Script>
      <mx:DataGrid id="myADG" dataProvider="{dpFlat}" horizontalScrollPolicy="auto"
      width="100%" height="100%" minWidth="500">          
      <mx:columns>
           <mx:DataGridColumn labelFunction="LabFunc" width="30" minWidth="10" sortable="false" headerText="NO." resizable="false"/>[color=red][/color]
            <mx:DataGridColumn dataField="@region" headerText="Region" />               
            <mx:DataGridColumn dataField="@name" headerText="Name"/>
            <mx:DataGridColumn dataField="@id" headerText="Id"/>
            <mx:DataGridColumn dataField="@actual" headerText="Actual"/>
            <mx:DataGridColumn dataField="@estimate" headerText="Estimate"/>                              
      </mx:columns>
</mx:DataGrid>        
</mx:Application>


  • 大小: 33 KB
分享到:
评论

相关推荐

    DataGrid中的排序列怎么设

    在.NET框架中,`DataGrid`控件是一个用于显示数据集合的强大工具,常用于桌面应用程序。用户界面中,用户往往需要对数据进行排序以便更好地分析和理解。在本篇文章中,我们将深入探讨如何在`DataGrid`中设置排序列,...

    EasyUI Datagrid 中文排序的问题

    本文将详细介绍如何解决EasyUI Datagrid中的中文排序问题,并分别从前端和后端两个角度给出具体的实现方案。 #### 二、EasyUI Datagrid简介 EasyUI 是一个基于 jQuery 的简单而强大的 UI 库,它提供了大量的用户...

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

    在.NET框架中,DataGrid控件是用于展示数据表格的一种常用组件,特别是在Windows Forms和ASP.NET应用程序中。在默认情况下,DataGrid控件会自动为每一行生成一个索引或编号,但有时我们可能需要自定义这个编号列,以...

    datagrid动态添加模板列

    动态添加模板列则是在页面加载或某个特定事件发生时创建这些列,而非在页面设计时硬编码。 1. **创建动态模板列** - 在代码后面,你可以通过`DataGridColumn`类创建新的`TemplateColumn`实例。 - 使用`...

    MVVM实现WPF中DataGrid动态列与编辑器

    1. **创建ViewModel**:首先,你需要创建一个ViewModel类,该类将包含DataGrid的数据源和动态列的定义。这些列的定义通常以ObservableCollection类型存储,例如`ObservableCollection&lt;DataGridColumn&gt;`。 2. **定义...

    可删除列的datagrid

    标题中的“可删除列的datagrid”指的是在编程中,特别是在数据展示和操作的场景下,使用的一种组件或控件。Datagrid(数据网格)通常用于显示结构化的数据,如数据库表格,用户可以对其进行查看、编辑和操作。在这个...

    在DataGrid中显示和隐藏某一列

    在.NET框架中,WPF(Windows Presentation Foundation)为我们提供了一个强大的数据展示控件——DataGrid。这个控件常用于展示表格形式的数据,并允许用户进行编辑、排序和选择等操作。当我们需要根据用户需求或者...

    WPF_MVVM中DataGrid列中使用ComBox绑定

    ComBox是一种下拉列表框控件,它可以显示一个文本项并允许用户从下拉列表中选择其他选项。在DataGrid中,我们通常会为特定列定义一个DataTemplate,以便在该列中显示ComBox。 为了在MVVM模式下实现ComBox的双向绑定...

    解决EasyUIdataGrid列比较多,无数据,列展现不全

    ### 解决EasyUI dataGrid列较多时无数据显示不全的问题 在使用EasyUI框架进行前端开发的过程中,可能会遇到dataGrid组件在数据为空时列显示不完整的问题。这不仅影响用户体验,也降低了系统的可用性。本文将详细...

    WPF动态添加行列DATAGRID

    DataGrid可以通过绑定到一个数据源(如ObservableCollection或List)来自动生成列,而行则会根据数据源中的对象数量自动创建。但是,如果数据源的结构未知或者需要在运行时动态调整列的数量和类型,我们需要手动处理...

    Wince DataGrid动态添加列和绑定数据 并修改数据

    Wince DataGrid动态添加列和绑定数据 并修改数据 ----------------------------------------------- 对于DataGrid中 值的修改 是参考别人的代码加上自己的一些方法做出来的!

    DataGrid自定义列标题

    在.NET框架中,WPF(Windows Presentation Foundation)提供了一个强大的数据呈现控件——DataGrid,它用于显示和编辑网格形式的数据。在实际开发中,我们经常需要根据需求对DataGrid的列标题进行自定义,以增强界面...

    为DataGrid添加确认删除的对话框

    在DataGrid的模板列中添加一个删除按钮,该按钮将触发`DataGrid_ItemCommand`事件。 3. **编写服务器端事件处理程序** 编写`DataGrid_ItemCreated`事件处理程序,用来设置删除按钮的`onclick`属性,使其在点击时...

    wpf datagrid排序列表头文字右边的升降箭头

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和操作表格数据。本教程将深入讲解如何实现`DataGrid`的列头排序功能,即点击列表头文字右边的升降箭头进行升序或降序排序。...

    DataGrid中嵌套DataGrid

    而"DataGrid中嵌套DataGrid"是一种复杂但非常实用的技术,它允许在一个DataGrid的行或列中内嵌另一个DataGrid,以展示层次化数据或相关联的数据集。这种技术同样适用于DataGrid与DataList,以及DataList之间的嵌套,...

    wpf动态列datagrid

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和编辑表格数据。当你需要创建一个可以根据数据源自动调整列数的界面时,动态列`DataGrid`就显得尤为实用。这个场景下,我们...

    C# DataGridView多列排序(多列排序要按住Shift键).zip

    一种常见的优化策略是将数据存储在内存中的数据结构(如`List&lt;T&gt;`或`DataTable`)中,并仅对这部分数据进行排序,而不是每次都从数据库重新加载所有数据。此外,还可以通过异步处理排序来避免阻塞UI线程。 总的来说...

    easyui datagrid排序图标

    然而,标题中提到的"easyui datagrid排序图标"是DataGrid的一个关键特性,因为它们能够帮助用户直观地识别出哪些列是可以进行排序操作的。 默认情况下,EasyUI DataGrid并不会自动显示排序图标。这意味着当用户首次...

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

    1. **创建模板列**:在DataGrid中,我们需要定义一个或多个DataGridTemplateColumn。这些模板列将包含我们的自定义单元格布局。 2. **定义DataTemplate**:在模板列中,我们需要定义一个DataTemplate,用于显示...

    dataGrid中文排序

    在Flex开发中,`dataGrid` 是一个常用的组件,用于展示和操作数据表格。当涉及到中文数据时,对其进行排序可能会遇到一些挑战,因为中文字符排序并非像英文那样简单按照字母顺序进行。本篇文章将深入探讨如何实现`...

Global site tag (gtag.js) - Google Analytics