`
hiphunter921
  • 浏览: 68735 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对于datagrid中删除后,对selectedIndex赋值后的问题

阅读更多

对于datagrid中删除后,想要自动选中下一条记录,如果是最后一条,就选中上一条。

这个看似简单的需求,实际操作中却出现了问题。

当选中第一条,删除一条后,selectedIndex的值变成-1,然后对其赋值:

dg.selectedIndex=si;

从debug中看到,这里的si=0,但是dg的selectedIndex却是1,也就是flash内部对datagrid的selectedIndex的时候做了其他一些操作,时间关系也没细看源码,网上找了个方法就解决了这个问题,就是在对数据源remove的之前加入:

dp.disableAutoUpdate();

在remove并且对selectedIndex赋值完了后,再dp.enableAutoUpdate();

这样问题就解决了,但是我用debug看还是没能赋值成功。。

希望有经验的兄弟提醒提醒,在下感激不尽。

下面是解决后的代码:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" minWidth="955" minHeight="600" initialize="init();">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			[Bindable]
			private var dp:ArrayCollection=new ArrayCollection();
			private function init():void{
				dp.addItem({id:1,name:"join"});
				dp.addItem({id:2,name:"jason"});
				dp.addItem({id:3,name:"lori"});
				dp.addItem({id:4,name:"tony"});
				dp.addItem({id:5,name:"randy"});
			}
			private function deleteColumn():void{
				var si:int=dg.selectedIndex;
				dp.disableAutoUpdate();
				if(si==dp.length-1){
					dp.removeItemAt(si);
					dg.selectedIndex=si--;
					dg.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
				}else{
					dp.removeItemAt(si);
					dg.selectedIndex=si;
					dg.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
				}
				dp.enableAutoUpdate();
			}
		]]>
	</mx:Script>
	<mx:DataGrid id="dg" dataProvider="{dp}">
		<mx:columns>
			<mx:DataGridColumn dataField="id" headerText="ID" />
			<mx:DataGridColumn dataField="name" headerText="NAME" />
		</mx:columns>
	</mx:DataGrid>
	<mx:Button label="del" click="deleteColumn()"/>
</mx:Application>
分享到:
评论

相关推荐

    Silverlight中给DataGrid赋值

    本篇文章将详细探讨如何在Silverlight中利用ItemsSource属性给DataGrid赋值,以便有效地展示和管理数据。 首先,了解DataGrid的基本概念。DataGrid是Silverlight中的一个控件,它提供了一个网格布局,用于显示和...

    DataGrid中嵌套DataGrid

    在ASP.NET开发中,DataGrid控件是一种常用的用于展示数据的控件,它允许我们以表格形式呈现数据源中的信息。而"DataGrid中嵌套DataGrid"是一种复杂但非常实用的技术,它允许在一个DataGrid的行或列中内嵌另一个...

    EasyUI Datagrid 中文排序的问题

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

    DataGrid中嵌入comBox

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

    WPF_MVVM中DataGrid列中使用ComBox绑定

    本话题将探讨如何在MVVM架构下,将ComBox控件集成到DataGrid列中,并实现其与数据模型的双向绑定,以实现在选择ComBox项后,数据能够即时更新到绑定的实体中。 首先,我们需要理解DataGrid的基本用法。DataGrid是...

    DataGrid 中加入图标

    在这个场景中,"DataGrid 中加入图标"是一个重要的知识点,它涉及到如何在DataGrid的单元格或者行中添加图标,以增强数据的可视化效果。以下是对这个主题的详细解释。 首先,DataGrid通常用于展示结构化的数据,如...

    Wpf datagrid 增删改查

    本例子是wpf中datagrid的增加修改,对于datagrid中的canuseraddrows=true,对当前空白行进行的添加数据,修改时,鼠标离开焦点可自动更新数据库,删除等等。不需要多余的界面进行添加修改等,利用datagrid的属性,...

    WPF DataGrid 中显示图片的小例子

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

    Wpf datagrid 多选、单选、反选

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和操作表格数据。本篇文章将深入探讨如何实现`DataGrid`的多选、单选和反选功能,以提高用户界面的交互性。 首先,我们要...

    easyui datagrid在编辑状态下更新列的值

    在标题“easyui datagrid在编辑状态下更新列的值”中,我们关注的是如何在Datagrid的编辑模式下动态地修改列的值,以及确保在编辑结束后,保存的数据反映这些变更。以下将详细介绍这一过程。 首先,EasyUI的...

    可删除列的datagrid

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

    easyui datagrid 行编辑中combogrid和combobox显示问题

    修改上一个资源版本中结束编辑时combobox显示问题. 1、类型为combogrid时每行的参数不同查询返回对应的数据结果。 2、类型为combobox时,输入框显示图标按钮,实现对应的事件。 3、解决类型为combobox显示为value而...

    VB6 DataGrid中的数据导出到Excel

    VB6 DataGrid中的数据导出到Excel 本篇文章将详细介绍如何使用VB6将DataGridView中的数据导出到Excel文件中。下面将对标题、描述、标签和部分内容进行解释,并生成相关的知识点。 标题:VB6 DataGrid中的数据导出...

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

    在.NET框架中,Windows Forms和WPF应用中经常使用DataGrid控件来展示和操作数据。这个场景下,用户可能需要实现一个常见的功能,即在DataGrid中添加CheckBox,允许用户进行多选操作,尤其是全选功能。这篇博客“在...

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

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

    easyui datagrid中实现上下左右、回车切换单元格

    easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格easyui datagrid中实现上下左右、回车切换单元格

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

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

    C# WPF DataGrid行拖拽顺序交换

    在C# WPF环境中,DataGrid控件是一个非常强大的数据展示和编辑工具,它允许用户以表格形式查看和操作数据。在开发过程中,有时我们需要实现一个功能,即允许用户通过拖拽行来改变DataGrid中数据的显示顺序。这个功能...

    easyui的datagrid中editor和combobox的级联

    ### easyui的datagrid中editor和combobox的级联 在前端开发中,easyui是一个非常实用的库,它提供了一套完整的用户界面组件,能够帮助开发者快速构建出功能丰富的Web应用。其中,`datagrid`是easyui提供的一个重要...

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

    对于需要动态编辑表格数据的应用场景,可以通过设置datagrid中的`editor`属性来实现单元格级别的编辑功能。 #### 二、combogrid组件介绍 在easyUI中,`combogrid`是一个结合了`combobox`和`grid`特性的组件,它...

Global site tag (gtag.js) - Google Analytics