datagridview 奇怪的问题 高手进来看看

iloveppmm 2008-12-25 03:19:31


将 datagridview的 行标题头 隐藏了。

将第一列设为序号列了。

然后,在rowadd 事件中,为每一行 的序号列 加上行索引。

现在问题来了,我绑定到数据源后,数据源newrow 一个新行。

如果我一开始把垂直滚动条放在最上面, 无论加多少新行,都是没问题。

但如果我把滚动条已经拉到最下面 去看最末一行,那么,当新增加的行超过了表格控件本身区域的话, 再看到的,就显示不正常了。
最后一行,就会重复。比如到了30行,就会有2个甚至3个序号为30的行。
但是,这些重复的行,一般最下面的那个又是无效的。就是你看的见,但无法操作。从获取控件行数来看,控件确实也只有30行。但显示就会多显示一行两行的。
开始以为是绘制刷新的问题,可手动调用了刷新方法,也不管用。
哦 对了,我的垂直滚动条是自己加的,不是用的控件自身的那个。 因为要把这个控件和其他的一个显示内容做同步。所以自己加了一个。



...全文
157 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iloveppmm 2008-12-26
  • 打赏
  • 举报
回复
up
iloveppmm 2008-12-25
  • 打赏
  • 举报
回复
折腾了一个下午

问题越来越奇怪了 经过修改后

直接的add() 添加到末尾的行 没任何问题了。 怎么添加都可以。

如果是insertat() 添加到指定索引。 就还是老样子。

不过,还有个奇怪的现象。

insertat时, 如果当前显示的第一行 就是索引为0的第一行。 那么 这种添加也没问题。但如果当前显示的第一行 不是索引为0的话,就出现老问题了。

做删除时,同样。当前显示第一行为索引0行时, 删除第几行都正常。但不是的情况下,最后一行的显示又不正常了。
Sader_ 2008-12-25
  • 打赏
  • 举报
回复
你已经意识到了问题所在。检查自定义的滚动条控件吧

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧