DataGrid,一个奇怪的问题

tihua 2005-03-16 04:21:52
前提:DataGrid使用了表样式,并设定其中某列的ReadOnly = True,
接下来绑定数据源,加入表样式,运行,并点一下设成ReadOnly = True的那一列的任一行,没什么问题。
这时在运行中动态更新数据源,重新加入表样式(结构一样,数字不同而已),你会发现你刚才点选过的那一行的背景色及数据居然没有被清除,停住有DataGrid上面(把新的数据(一个单元格)挡住了)
用Me.datagrid1.Refresh()或me.form1.refresh()都不能去除,不知什么原因?

(如果不带上ReadOnly = True,就没事,奇怪)

各位帮帮忙了,谢谢
...全文
160 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tihua 2005-03-27
  • 打赏
  • 举报
回复
一段时间了,
你们不会是没碰到这种问题吧
LiloZhu 2005-03-17
  • 打赏
  • 举报
回复
頂一下....
Night_Elf 2005-03-16
  • 打赏
  • 举报
回复
可怜没人爱呀!^-^
tihua 2005-03-16
  • 打赏
  • 举报
回复
Night_Elf(风暴虫),你好可爱,:)收下了
Night_Elf 2005-03-16
  • 打赏
  • 举报
回复
搂主干嘛非要我献丑!
你无非是想设置某些列只读而某些列可以编辑,你可以这样:
不要再表样式中加ReadOnly = True或是false,直接设置datagrid1.readonly=true
然后,在CurrentCellChange事件中判断:

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
If DataGrid1.CurrentCell.ColumnNumber = 8 Then '假设你要第9列可以编辑
DataGrid1.ReadOnly = False
Else
DataGrid1.ReadOnly = True
End If
end Sub

这样肯定不会出现灰色,又可以实现你要的效果,方法太笨了!
tihua 2005-03-16
  • 打赏
  • 举报
回复
to:hamadou(闵峰) 没有重新加入表样式也一样出现这种情况,不信你试试
to : Night_Elf(风暴虫) 你是怎样解决的?分享一下吧,我连笨方法都没了
hamadou 2005-03-16
  • 打赏
  • 举报
回复
更新后,为什么要重新加入表样式?
Night_Elf 2005-03-16
  • 打赏
  • 举报
回复
这种情况我也遇到过,好像是ms的Bug,折腾了我好长时间也没有解决,最后用了一个笨方法给绕过去了(方法太笨,不好意思说出来!)
看看高手有什么解决方法

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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