修改GridView里面的数据后,表格需要刷新再显示,但是刷新gridview 的时候,鼠标就跳到第一行了,我有很多数据行要修改,每次都跳到第一行好郁闷,有什么好办法吗?大神们?
1、修改GridView里面的数据后,表格需要刷新再显示 - 有待商榷,要求这个特性的人没有好好考虑。
2、但是刷新gridview 的时候,鼠标就跳到第一行了 -- 你可以自己记住当前修改行,刷新后再跳过去好了。
你说不刷新?,是这样的,我有很多订单, 包括单价, 数量 ,金额,
我输入单价或者数量的时候,我就自动计算出金额,并更新数据库,
我现在说输入完后就自动刷新,
比如有30行,你说说,我全部修改完了再更新,还是修改一行就更新一行到数据库?
@男人要爽:
1、你没说是Client(Winform/wpf)还是Web。差别是有的,有时候还很大。
2、30行订单数据,怎么保存,有待商榷,好方法很多,坏的方法当然也很多。
3、全部修改完再更新,或者修改一行再更新的都有,世界不是只有一种颜色的,只是不管采用哪一种方式,都有对应的需求分析和对应的设计方法。修改完保存刷新GridView是其中最偷懒的一种方法。
4、自动保存和自动刷新,这两个单词是不同的。
@爱编程的大叔: 感谢大叔,这么多年了,大叔还在园子里积极奉献,难得啊
WINFROM的
那种方法比较好,你觉得, 全部修改好了,再更新吧?
@男人要爽:
Winform 90%以上的设计是全部好了,用户按下保存按钮,才保存的。
担心电脑没电?你可以随时按保存的,担心突然断电,失去一小部分数据,拜托,没这么恐怖,
一般都是拿着一张订单A4纸对着打的。
再说了,订单这种东西,重要的是核对而不是快速让其他人知道。
你没打完的订单,别人也不需要知道。
为了怕断电,或者断网而设计即时保存当然也可以,如果要避免刷新,那么你要尽量进行单向保存,不要保存,然后取出刷新Grid(数据都是你给的,没有必要再从数据库中取出),另外,也不需要考虑还有并发问题,不会有另外一个傻逼也在编辑这个订单的,这种愚蠢的需求是不存在的。
@爱编程的大叔:
现在就是有这个需求,他这个订单要报价修改,由于报价修改的项比较多,所以要分配给多个人,怎么分配给多个人呢,就算分配了,他们同事在修改,可能会锁,怎么避免这个问题了?
大叔
@男人要爽: 如果可以,你把场景详细描述一下。
报价修改和录入不需要在同一个时间内进行。如果分配,那就分配了,自然也不会有两个人处理一个商品。
一般就是有几万个人的公司,也不会干这么傻的事的。
当然可能你碰到的情况特殊,这时候才更需要需求分析。
@爱编程的大叔: 他们就说因为一个人报价搞不过来,所以分配给2个人,可能会出现2个人同事报价一个订单的,如果同时在操作这个报价单,怎么办,会不会有问题啊
比如你在更新前20条记录,我过一会更新中间20条、
@男人要爽: 你问客户,客户会让你上火星的。问给多少钱,三十,不能更多了。
不是没有解决方法,但是太麻烦了(成本比较高或者太高,说了你也不懂)。
一般这种情况客户加10万我就做了。至于你,我也不知道该咋办。
@男人要爽: 分析需求是怎么分析的,我举个例子说吧
1、报价,如果是有现成价格体系的,那么一般可以实现为自动报价。对电脑来说,1秒内的事情。
2、如果不能自动报价的,那么就是几分钟,几十分钟的事情,比如外贸业务员,甚至可能是一天的时间在报价,但是,这种工作通常是不在电脑上,或者说不在你的系统中进行的,真正在你的系统中进行的时间是录入已经做好的报价,这个通常可以让一个人做,而不需要让很多个人做,你问客户,他会以为这就是多人同时做的事。
3、真的需要多个人做的情况,通常采用流水线,自动分工,比如一个单子,拆成200个单品,下一个流水线的人只能看到未报价的单品,自己认领要报价(或者有一个人负责进行工作分配,或者系统自动分配工作),这样一来,其实就是把你现在在一个界面上实现的功能,变成了10个界面来进行,而对于每个界面,每个用户,他们进行的工作其实都是不存在并发冲突的,你报价的是A,我报价的是B。而汇总报价的工作,如果需要,可能是用户丙在进行。这就是我说的,一旦你的需求达到,那么不是不能做,只是成本高而已。
订单一般不是有订单状态么?一般审核的订单是不可以修改的,对吧。需要反审核。那么查询该单据的状态,不是审核的状态操作大于1,提示已有人在操作流程中。
不是审核的状态 操作大于1 是啥意思啊
不是审核的状态大于1.
例如:单号为BillNo,单据状态为dos.dos为“C”的时候代表审核。
select count(1) from tableName where dos!="C" and BillNo="billID"
对同一张单不允许存在两个非审核状态。对两张不同的单随便他们怎么玩。对不对?
对查询得结果进行判断,大于1,提示 已在操作流程中。小于1正常后面的逻辑。给好评哦亲!
问一句你是做REP开发的么?
@good_idea:
好注意,!!!
如果要指派给2个不同的人来完成,怎么设计好呢
比如一个报价单有200项商品要报价,
一个人报太慢了,我指派给3个人同时报价,该怎么做比较好
@男人要爽: 只要他们不同时改同一张单就好了。然后在员工表中设置他们对报价单的操作权限。1个人就给一个人权限,两个人就两个权限。N个人就N个权限。所以他们就有N个人同时报了。这是第一种方法。第二种直接把所有的需要报价的单,按比重分配给N个人。200账单,3个人,比重是1:1:2就按分配策略50:50:100随机分配给他们就好了。就是相互隔离开。
@good_idea: and @爱编程的大叔
你知道怎么讲鼠标定在gridview 那一行吗,这个是我最关心的,我现在刷新后,鼠标就跳到第一行了
@男人要爽: 刷新后,gridview调用下其他的任何事件,只要对gridview进行了操作,鼠标定的位置就回来了。最好是gridview有onfcus() 鼠标关注事件。如果没有的话,你刷新后,对gridview进行操作啊。