问题:
在DataGrid追加RadioButton的时候,不能达到预期的单选效果。
下面提出解决方法和Source
<?xml version="1.0" encoding="utf-8"?> <!-- ADOBE SYSTEMS INCORPORATED Copyright 2008 Adobe Systems Incorporated All Rights Reserved. NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms of the license agreement accompanying it. --> <!--- The default skin class for a Spark RadioButton component. @see spark.components.RadioButton @see spark.components.RadioButtonGroup @langversion 3.0 @playerversion Flash 10 @playerversion AIR 1.5 @productversion Flex 4 --> <s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabledStates="1"> <fx:Metadata> <![CDATA[ /** * @copy spark.skins.spark.ApplicationSkin#hostComponent */ [HostComponent("spark.components.RadioButton")] ]]> </fx:Metadata> <fx:Script> <![CDATA[ /** * @private */ private static const focusExclusions:Array = ["labelDisplay"]; /** * @private */ override public function get focusSkinExclusions():Array { return focusExclusions;}; ]]> </fx:Script> <s:states> <s:State name="up" /> <s:State name="over" stateGroups="overStates" /> <s:State name="down" stateGroups="downStates" /> <s:State name="disabled" stateGroups="disabledStates" /> <s:State name="upAndSelected" stateGroups="selectedStates" /> <s:State name="overAndSelected" stateGroups="overStates, selectedStates" /> <s:State name="downAndSelected" stateGroups="downStates, selectedStates" /> <s:State name="disabledAndSelected" stateGroups="disabledStates, selectedStates" /> </s:states> <s:Group verticalCenter="0" width="13" height="13"> <!-- drop shadow --> <s:Ellipse left="-1" top="-1" right="-1" bottom="-1"> <s:stroke> <s:LinearGradientStroke rotation="90" weight="1"> <s:GradientEntry color="0x000000" color.downStates="0xFFFFFF" alpha="0.011" alpha.downStates="0" /> <s:GradientEntry color="0x000000" color.downStates="0xFFFFFF" alpha="0.121" alpha.downStates="0.57" /> </s:LinearGradientStroke> </s:stroke> </s:Ellipse> <!-- fill --> <s:Ellipse left="1" top="1" right="1" bottom="1"> <s:fill> <s:LinearGradient rotation="90"> <s:GradientEntry color="0xFFFFFF" color.overStates="0xBBBDBD" color.downStates="0xAAAAAA" alpha="0.85" /> <s:GradientEntry color="0xD8D8D8" color.overStates="0x9FA0A1" color.downStates="0x929496" alpha="0.85" /> </s:LinearGradient> </s:fill> </s:Ellipse> <!-- fill highlight --> <s:Path data="M 1 6 Q 2 2 6 1 Q 11 2 12 6 h -9"> <s:fill> <s:SolidColor color="0xFFFFFF" alpha="0.33" /> </s:fill> </s:Path> <!-- layer 6: highlight stroke (all states except down) --> <s:Ellipse left="1" right="1" top="1" bottom="1"> <s:stroke> <s:LinearGradientStroke rotation="90" weight="1"> <s:GradientEntry color="0xFFFFFF" color.downStates="0x939393" alpha.overStates="0.22" /> <s:GradientEntry color="0xD8D8D8" color.downStates="0xB1B1B1" alpha.overStates="0.22" /> </s:LinearGradientStroke> </s:stroke> </s:Ellipse> <s:Rect left="5" top="1" right="5" height="1"> <s:fill> <s:SolidColor color="0xFFFFFF" color.downStates="0x939393" alpha.overStates="0.22" /> </s:fill> </s:Rect> <!-- border - put on top of the fill so it doesn't disappear when scale is less than 1 --> <s:Ellipse left="0" top="0" right="0" bottom="0"> <s:stroke> <s:LinearGradientStroke rotation="90" weight="1"> <s:GradientEntry color="0x000000" alpha="0.70" /> <s:GradientEntry color="0x000000" alpha="0.80" /> </s:LinearGradientStroke> </s:stroke> </s:Ellipse> <!-- dot --> <!--- Defines the appearance of the RadioButton's dot. To customize the appearance of the dot, create a custom RadioButtonSkin class. --> <s:Path left="4" top="4" includeIn="selectedStates" id="dot" itemCreationPolicy="immediate" data="M 2.5 0 Q 4.5 0.5 5 2.5 Q 4.5 4.5 2.5 5 Q 0.5 4.5 0 2.5 Q 0.5 0.5 2.5 0"> <s:fill> <!--- @private Defines the appearance of the dot's fill. The default color is 0x000000. The default alpha is .9. --> <s:SolidColor id="dotFill" color="0" alpha="0.9" /> </s:fill> </s:Path> <s:Path left="4" top="7" includeIn="selectedStates" data="M 0 0 Q 0.5 2 2.5 2.0 Q 3.5 2.0 4 0"> <s:stroke> <s:LinearGradientStroke> <s:GradientEntry color="0xFFFFFF" alpha="0.3" /> <s:GradientEntry color="0xFFFFFF" alpha="0.7" /> <s:GradientEntry color="0xFFFFFF" alpha="0.3" /> </s:LinearGradientStroke> </s:stroke> </s:Path> </s:Group> <!-- Label --> <!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay --> <s:Label id="labelDisplay" textAlign="start" verticalAlign="middle" maxDisplayedLines="1" left="18" right="0" top="3" bottom="3" verticalCenter="2" /> </s:SparkSkin>
<?xml version="1.0" encoding="utf-8"?> <s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true"> <fx:Script> <![CDATA[ //---------------------------------------------------------------------------------------------------------- override public function prepare(hasBeenRecycled:Boolean):void { super.prepare( hasBeenRecycled ); // We make the radio button mimic the selection status of the whole row. const selected_items: Vector.<Object> = grid.dataGrid.selectedItems; if( null == selected_items ) { radio_button.selected = false; return; } if( -1 != selected_items.indexOf( data ) ) radio_button.selected = true; else radio_button.selected = false; } //---------------------------------------------------------------------------------------------------------- ]]> </fx:Script> <!--The radio button is only a visual indicator for whether the row is selected or not. The "selected" property of the radio_button will be controlled by the "prepare" function. The radio_button should not be allowed any user interaction. Hence disabling it.--> <s:RadioButton id="radio_button" label="" enabled="false" skinClass="NoDisabledRadioButtonSkin" horizontalCenter="0" verticalCenter="0" /> </s:GridItemRenderer>
<?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" width="400" height="200" > <fx:Declarations> <fx:Array id="array_bees"> <fx:Object label="Bumble Bee" /> <fx:Object label="Honey Bee" /> <fx:Object label="Stingless Bee" /> <fx:Object label="Killer Bee" /> <fx:Object label="Carpenter Bee" /> </fx:Array> <s:ArrayCollection id="ac_bees" source="{ array_bees }" /> </fx:Declarations> <s:DataGrid id="datagrid_bees" left="10" top="10" dataProvider="{ ac_bees }"> <s:columns> <s:ArrayList> <s:GridColumn id="column_bee_radio_button" headerText="" width="25" sortable="false" itemRenderer="RadioButtonGridItemRenderer"></s:GridColumn> <s:GridColumn id="column_bee_name" headerText="Bee Name" dataField="label" minWidth="200" maxWidth="300"/> </s:ArrayList> </s:columns> </s:DataGrid> </s:Application>
相关推荐
flex支持拖拽的DataGrid,如果去查api来置一些属性将会比较麻烦,这个DataGrid可以获取拖拽的内容,这是一个application,可以直接运行
在 Flex 开发中,`DataGrid` 是一个非常重要的组件,用于展示和操作结构化的数据。在本篇文章中,我们将深入探讨如何在 `DataGrid` 中应用编辑功能,包括 `editorDataField`、`itemEditor` 和 `itemRenderer` 的使用...
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
在Flex开发中,数据网格(Data Grid)是一种常用的组件,用于显示大量结构化的数据,并提供交互功能,如排序、筛选和编辑。分页是管理大量数据流的关键特性,它允许用户逐页浏览数据,而不是一次性加载所有内容,...
在本文中,我们将深入探讨如何使用EasyUI的DataGird组件实现分页显示数据。EasyUI是一个基于jQuery的轻量级前端框架,提供了丰富的UI组件,包括DataGird,用于展示表格数据并支持分页、排序、筛选等功能。 首先,...
可用的datagird打印类。记住datagird要添加样式,调用列子如下: DataGridPrintDocument dgp=new DataGridPrintDocument(dataGrid1,"用户列表",16); //string[] uplinestr={"呵呵,hehe","xixi"}; ...
### 数据网格(DataGrid)中如何处理过长的字符串 在数据展示应用中,尤其是在使用`DataGrid`组件时,我们经常会遇到这样的问题:当单元格中的文本长度超过了列的宽度时,显示效果会受到影响,例如文本被截断或换行等...
标题 "easyui datagird增删改分页例子" 提示我们这个压缩包包含一个使用EasyUI DataGrid实现数据操作和分页功能的示例。EasyUI是一个基于jQuery的前端框架,DataGrid是其组件之一,常用于展示表格数据并支持用户交互...
"Datagird增改删例子"这个项目旨在演示如何在C#环境下利用DataGridView实现数据的添加(Add)、修改(Edit)和删除(Delete)操作。在.NET环境中,我们可以结合数据库和ADO.NET技术来完成这些功能。 首先,`dgdemo_...
以下是对“c#.net Data导出DataGird源码”的详细分析。 ### 知识点一:C# .NET环境下数据导出至Excel的基本流程 #### 1. 设置HTTP响应头 在导出数据至Excel文件前,首先需设置HTTP响应头,以便浏览器能够识别该...
在编程领域,尤其是在开发用户界面时,数据展示和交互是一个重要的环节。`Datagrid`控件通常被用于Windows应用程序中,用于显示和操作表格形式的数据。在这个特定的场景中,"让Datagrid支持鼠标滚轮"意味着我们需要...
在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,用于展示和操作数据集。这个示例代码主要围绕四个关键功能展开:分组、过滤、排序和样式设计,这些都是在开发高效、用户友好的数据管理...
### DataGrid绑定详解 在.NET框架中,DataGrid是一个非常重要的控件,它主要用于显示、编辑及导航数据源中的数据。DataGrid控件提供了一种简单有效的方式来展示数据,并允许用户进行排序、筛选等操作。...
EasyUI中使用DataGird显示数据列表中,有时需要根据需要显示不同的列,例如,在权限管理中,不同的用户登录后只能查看自己权限范围内的列表字段,这就需要DataGird动态组合列,下面介绍EasyUI中DataGird动态生成列的...
动态DataGrid是编程领域中一个常见的话题,尤其是在Web开发中,它允许用户在运行时根据数据源自动生成列和行,极大地增强了用户界面的灵活性。本文将深入探讨动态DataGrid与XML之间的结合,以及如何利用XML数据源来...
在IT行业中,前端框架EasyUI是一个广泛使用的工具集,它基于jQuery,提供了丰富的组件和便捷的API,用于构建用户界面。在本问题中,我们关注的是`easyui-1.4`版本的`datagrid`组件遇到的一个特定问题:当从后台获取...
资源分类:Python库 所属语言:Python 资源全名:DataGridBWC-0.1.0-py2.6.egg 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
cellStyle.Setters.Add(new Setter(Control.BackgroundProperty, Brushes.LightGray)); // 设置默认颜色 // 例如,将id为333的单元格颜色设为红色 Style redCellStyle = new Style(typeof(DataGridCell)); ...