关于修改DataGridView行记录时的光标乱跳的问题,困惑很久了,特求解

问题描述

在一个DataGridView里绑定的数据源是一个DataView,里面的记录按时间排序。在我的程序处理中,当接受到一个消息时,希望将特定的行记录进行修改,更新其时间,这一行记录也会自动排序到最后。这些都没有什么问题,目前的问题是,如果本来选定了一行记录,假设总共有50条记录,本来手工选中了第5条记录,这时消息来了,修改第36行记录,第36行记录因为时间修改变成第49行记录,光标应该仍然选中第5行记录,但事实是,光标跳向了第36行记录,既不是原先选中的记录,也不是被修改的那条记录。消息到来的事件我是这样处理的:*****************************************************DataRow[]rows=DataTable.Select("");//通过消息内容找到需要修改的记录DataRowrow=null;if(rows.Length==1){row=rows[0];row["Time"]=DateTime.Now;//跟踪代码到这里的时候,执行该行之前,就进入了DataGridView的SelectionChanged事件}*****************************************************我觉得应该是DataGridView的某个属性使得程序执行修改的时候,自动发生了跳转的动作,因为看另一个模块的类似处理是不会发生跳转事件的,可是对照了半天,实在看不出两个DataGridView的属性设置有什么不一样的,拜托各位看到的,能否帮忙解惑啊,不知有没有谁有过类似经验。

解决方案

解决方案二:
怎么都没有人回答啊,大家都没有遇见过这样的问题吗?
解决方案三:
没见过你种问题不好回答
解决方案四:
关注
解决方案五:
友情up一下
解决方案六:
Upfriendly
解决方案七:
这个问题不复杂。你可以通过遍历datagridview某个列(比如id列)在各行的值来定位到相应的行,再通过设定datagridview的row的状态或currentcell就可以搞定当前行和行选择的问题。

时间: 2024-10-27 13:06:05

关于修改DataGridView行记录时的光标乱跳的问题,困惑很久了,特求解的相关文章

winform 的dataGridView怎样根据查询条件光标自动定位跳到查询到的相应行

问题描述 如图我想根据查询条件输入框的值查询dataGridView绑定的数据库是否存在该数据如果有那就dataGridView的光标自动定位跳到符合输入框条件的相应的行因为是新手在做毕业设计这里碰到困难了求大神帮助了谢谢了 解决方案 解决方案二:部分代码因为是菜鸟所以这种找代码有点杂乱解决方案三:这不是都已经做出来了吗解决方案四:既然你已经读到表格里了,就遍历后台datatable去跟文本框比较好了,不要再查数据库了.否则你还是要再遍历一遍表格好知道你到底要定位到哪一行DataGridView

C# 事物(Transaction)处理时,向一个表里面写入多行记录时出错:参数变量名重复

问题描述 我的代码如下:///<summary>///sql事务处理///</summary>///<paramname="sqlString">sql查询字符串数组A</param>///<paramname="sqlparam">对应A的相应的SqlParameter[]的ArrayList对象</param>///<returns>返回的字符串为该方法出现异常的描述,当它为空则

联想ThinkPad Yoga/Yoga 12关闭盖子连接外显时触控笔光标乱跳

故障现象: 当机器屏幕盖子关闭状态下(譬如连接外显使用等)使用时,发现系统光标可能会间歇性的跳到屏幕右下角位置,然后在无其他操作的情况下可能会误打开导航栏里的图标. 影响机型: ThinkPad Yoga (20C0 and 20CD) ThinkPad Yoga 12 (20DK and 20DL) 影响系统:所有 原因分析: 这是由于关闭盖子后主板和LCD的触控笔检测电路之间的干扰导致的问题. 如果把机器屏幕开到45度以上(90度最好),就不会有干扰,也就没有此故障出现. 解决方案:请使用附

win7鼠标光标乱跳怎么办?

  鼠标是我们操作windows系统的重要设备,当鼠标出现问题时,将严重影响用户的正常工作;在win7系统下,相信许多用户多遇到过鼠标光标在电脑屏幕上乱跑的问题,这样用户在选取文字或指定输入位置时,将受到很大的影响,对于出现这类问题通常都以为是鼠标设备出现了问题,其实并非如此,造成win7系统鼠标指针乱跑的原因有许多种,系统.驱动.硬件其中一项出现问题,都会影响我们的使用!下面小编就以常见的问题原因,为大家提供了解决方法,下面我们一起看下吧! 问题与解决方法 一.电脑的问题 滑轮鼠标内部的滚轴很

hive查询卡死-hive查询时卡死,很久以后报出异常

问题描述 hive查询时卡死,很久以后报出异常 hive查询旧的数据时,有一个客户端卡死,等很久后报错,如下 Failed with exception java.io.IOException:org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations 说明:其他客户端的hive都正常,这个有问题的客户端可以创建新的表并且查询也没有问题, 但是查询旧的数据是有问题的.这个问题下午3点才出现的,

用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事?

问题描述 用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事? 我用的是mysql的数据库, jsp <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML> <div class="fo

用bindingNavigator滚动记录时DataGridView不能同步滚动???急!!!

问题描述 vs2005中的DataGridView和bindingNavigator均绑定数据后,用bindingNavigator滚动记录时DataGridView却不能同步滚动,请问是什么原因呢? 解决方案 解决方案二:补充一下:DataSet.SqlDataAdapter和BindingSource都是手动创建的,DataGridView绑定后可以正常显示,bindingNavigator绑定后也能控制记录的上下滚动,但是滚动时DataGridView却不能同步显示记录的位置!解决方案三:

《Oracle SQL疑难解析》——1.7 改变行记录的值

1.7 改变行记录的值 Oracle SQL疑难解析 1.7.1 要解决的问题 修改表中一行或多行的值. 1.7.2 解决方法 就像命令的字面意义一样,UPDATE语句是用来修改数据的.假定我们想给部门代码为50的每个员工增加5%的薪水,就可以用下面这个UPDATE语句: update hr.employees set salary = salary * 1.05 where department_id = 50; 1.7.3 数据库如何工作 基本的UPDATE语句设计就以UPDATE子句开始:

[20121019]8k数据块到底能放多少行记录.txt

[20121019]8k数据块到底能放多少行记录.txt 前一阵子聚会,被问及一个8k数据块能够放多少行记录,我记得以前piner的书提高过,73X条. 实际上表sys.tab$的spare1字段保存的Hakan Factor,即该表数据块的最大行号,各种数据块的大小不同, spare1的缺省值也不一样. _______________________________ 块大小  最大行数每块(spare1)   _______________________________ 2K      17