首页 新闻 会员 周边 捐助

DEV gridControl1 刷新表格后,鼠标老跳到第一行

0
悬赏园豆:50 [已解决问题] 解决于 2018-09-27 09:26

        修改GridView里面的数据后,表格需要刷新再显示,但是刷新gridview 的时候,鼠标就跳到第一行了,我有很多数据行要修改,每次都跳到第一行好郁闷,有什么好办法吗?大神们?

男人要爽的主页 男人要爽 | 初学一级 | 园豆:6
提问于:2018-06-06 10:26
< >
分享
最佳答案
1

1、修改GridView里面的数据后,表格需要刷新再显示   - 有待商榷,要求这个特性的人没有好好考虑。

2、但是刷新gridview 的时候,鼠标就跳到第一行了  -- 你可以自己记住当前修改行,刷新后再跳过去好了。

收获园豆:50
爱编程的大叔 | 高人七级 |园豆:30844 | 2018-06-06 10:35

你说不刷新?,是这样的,我有很多订单, 包括单价, 数量 ,金额,

 我输入单价或者数量的时候,我就自动计算出金额,并更新数据库,

我现在说输入完后就自动刷新,

比如有30行,你说说,我全部修改完了再更新,还是修改一行就更新一行到数据库?

 

男人要爽 | 园豆:6 (初学一级) | 2018-06-06 10:49

@男人要爽: 

1、你没说是Client(Winform/wpf)还是Web。差别是有的,有时候还很大。

2、30行订单数据,怎么保存,有待商榷,好方法很多,坏的方法当然也很多。

3、全部修改完再更新,或者修改一行再更新的都有,世界不是只有一种颜色的,只是不管采用哪一种方式,都有对应的需求分析和对应的设计方法。修改完保存刷新GridView是其中最偷懒的一种方法。

4、自动保存和自动刷新,这两个单词是不同的。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-06 11:01

@爱编程的大叔: 感谢大叔,这么多年了,大叔还在园子里积极奉献,难得啊

WINFROM的

那种方法比较好,你觉得, 全部修改好了,再更新吧?

男人要爽 | 园豆:6 (初学一级) | 2018-06-06 11:08

@男人要爽: 

Winform 90%以上的设计是全部好了,用户按下保存按钮,才保存的。

担心电脑没电?你可以随时按保存的,担心突然断电,失去一小部分数据,拜托,没这么恐怖,

一般都是拿着一张订单A4纸对着打的。

再说了,订单这种东西,重要的是核对而不是快速让其他人知道。

你没打完的订单,别人也不需要知道。

 

为了怕断电,或者断网而设计即时保存当然也可以,如果要避免刷新,那么你要尽量进行单向保存,不要保存,然后取出刷新Grid(数据都是你给的,没有必要再从数据库中取出),另外,也不需要考虑还有并发问题,不会有另外一个傻逼也在编辑这个订单的,这种愚蠢的需求是不存在的。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-06 11:20

@爱编程的大叔: 

    现在就是有这个需求,他这个订单要报价修改,由于报价修改的项比较多,所以要分配给多个人,怎么分配给多个人呢,就算分配了,他们同事在修改,可能会锁,怎么避免这个问题了?

大叔

男人要爽 | 园豆:6 (初学一级) | 2018-06-06 13:52

@男人要爽: 如果可以,你把场景详细描述一下。

报价修改和录入不需要在同一个时间内进行。如果分配,那就分配了,自然也不会有两个人处理一个商品。

一般就是有几万个人的公司,也不会干这么傻的事的。

当然可能你碰到的情况特殊,这时候才更需要需求分析。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-06 14:05

@爱编程的大叔: 他们就说因为一个人报价搞不过来,所以分配给2个人,可能会出现2个人同事报价一个订单的,如果同时在操作这个报价单,怎么办,会不会有问题啊

比如你在更新前20条记录,我过一会更新中间20条、

男人要爽 | 园豆:6 (初学一级) | 2018-06-07 14:23

@男人要爽: 你问客户,客户会让你上火星的。问给多少钱,三十,不能更多了。

不是没有解决方法,但是太麻烦了(成本比较高或者太高,说了你也不懂)。

一般这种情况客户加10万我就做了。至于你,我也不知道该咋办。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-07 14:30

@男人要爽: 分析需求是怎么分析的,我举个例子说吧

1、报价,如果是有现成价格体系的,那么一般可以实现为自动报价。对电脑来说,1秒内的事情。

2、如果不能自动报价的,那么就是几分钟,几十分钟的事情,比如外贸业务员,甚至可能是一天的时间在报价,但是,这种工作通常是不在电脑上,或者说不在你的系统中进行的,真正在你的系统中进行的时间是录入已经做好的报价,这个通常可以让一个人做,而不需要让很多个人做,你问客户,他会以为这就是多人同时做的事。

3、真的需要多个人做的情况,通常采用流水线,自动分工,比如一个单子,拆成200个单品,下一个流水线的人只能看到未报价的单品,自己认领要报价(或者有一个人负责进行工作分配,或者系统自动分配工作),这样一来,其实就是把你现在在一个界面上实现的功能,变成了10个界面来进行,而对于每个界面,每个用户,他们进行的工作其实都是不存在并发冲突的,你报价的是A,我报价的是B。而汇总报价的工作,如果需要,可能是用户丙在进行。这就是我说的,一旦你的需求达到,那么不是不能做,只是成本高而已。

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-08 12:48
其他回答(1)
0

订单一般不是有订单状态么?一般审核的订单是不可以修改的,对吧。需要反审核。那么查询该单据的状态,不是审核的状态操作大于1,提示已有人在操作流程中。

good_idea | 园豆:74 (初学一级) | 2018-06-07 10:39

不是审核的状态 操作大于1 是啥意思啊

支持(0) 反对(0) 男人要爽 | 园豆:6 (初学一级) | 2018-06-07 14:20

不是审核的状态大于1.

例如:单号为BillNo,单据状态为dos.dos为“C”的时候代表审核。

select count(1) from tableName where dos!="C" and BillNo="billID"

对同一张单不允许存在两个非审核状态。对两张不同的单随便他们怎么玩。对不对?

对查询得结果进行判断,大于1,提示 已在操作流程中。小于1正常后面的逻辑。给好评哦亲!

问一句你是做REP开发的么?

支持(0) 反对(0) good_idea | 园豆:74 (初学一级) | 2018-06-07 16:47

@good_idea: 

好注意,!!!

如果要指派给2个不同的人来完成,怎么设计好呢

比如一个报价单有200项商品要报价,

一个人报太慢了,我指派给3个人同时报价,该怎么做比较好

支持(0) 反对(0) 男人要爽 | 园豆:6 (初学一级) | 2018-06-07 17:43

@男人要爽: 只要他们不同时改同一张单就好了。然后在员工表中设置他们对报价单的操作权限。1个人就给一个人权限,两个人就两个权限。N个人就N个权限。所以他们就有N个人同时报了。这是第一种方法。第二种直接把所有的需要报价的单,按比重分配给N个人。200账单,3个人,比重是1:1:2就按分配策略50:50:100随机分配给他们就好了。就是相互隔离开。

支持(0) 反对(0) good_idea | 园豆:74 (初学一级) | 2018-06-07 17:48

@good_idea: and  @爱编程的大叔

你知道怎么讲鼠标定在gridview 那一行吗,这个是我最关心的,我现在刷新后,鼠标就跳到第一行了

支持(0) 反对(0) 男人要爽 | 园豆:6 (初学一级) | 2018-06-10 20:39

@男人要爽: 刷新后,gridview调用下其他的任何事件,只要对gridview进行了操作,鼠标定的位置就回来了。最好是gridview有onfcus() 鼠标关注事件。如果没有的话,你刷新后,对gridview进行操作啊。

支持(0) 反对(0) good_idea | 园豆:74 (初学一级) | 2018-06-11 08:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册