找回密码
 立即注册

QQ登录

只需一步,快速开始

sliang79

高级会员

26

主题

66

帖子

1764

积分

高级会员

积分
1764

活字格认证

sliang79
高级会员   /  发表于:2011-6-14 16:46  /   查看:6566  /  回复:4
我的程序spread的数据源为sql查询出的结果,当点击update按钮会把新输入的的数据存入数据库,然后再查询出当前数据库的数据显示出来。假如当前spread显示有数据5行,在第10行输入新数据,然后点update按钮,那么spread显示出的结果是显示出1-6行数据(这是sql查询的结果),第10行的数据还在显示,没有清除掉,我在update_commad事件一开始就使用了sv.ClearRange(0, 0, sv.Rows.Count, sv.ColumnCount, false)也清除不掉那行update之前输入的数据

-------spread我设定了分页,每页固定了行数,即使没有数据,也要用空行把该页填满

4 个回复

倒序浏览
sliang79
高级会员   /  发表于:2011-6-14 17:29:00
沙发
spread.Rows[(int)e.CommandArgument].Remove()也同样删不掉输入的那一行
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-14 17:46:00
板凳
在Update中修改Spread的数据是有很多弊端的做法。比如现在你遇到的,无法修改最后一次改动的值。

你可以尝试不调用ClearRange方法,看结果是否正确。

关于设定分页,没有数据,空行把页面填满的问题。这是Spread默认设计。
回复 使用道具 举报
sliang79
高级会员   /  发表于:2011-6-15 08:05:00
地板
如果使用button,可以获得最后一次改动的行序号吗,打算不适用update按钮,改用用button处理了,但获得不到最后一次改动的值
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-15 09:06:00
5#
用Button修改数据可以,但最终还是要提交。而且Button也拿不到最后一次改动的数据。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部