datagrid控件问题(疑难):

xzqgd1 2002-12-18 09:08:30
Dim j As Integer
For j = 0 To rs.RecordCount - 1
DataGrid1.Row = j
Debug.Print DataGrid1.Row
If DataGrid1.Columns(1).Text <> "" Then
DataGrid1.Columns(1).Text = ""
End If
Next j
此段代码运行后有两个问题:1,凡是控件可见范围内的值都可清除,但是在滚 动条以下的都没有执行清除操作。
2,如果把指针移到控件的最后一行,滚动条上面的部分又不可操作,如何移动指针到第一行?

以上问题多人回答,都不能解。

谢谢大家!!
...全文
53 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2002-12-18
  • 打赏
  • 举报
回复
您也没有说到点子上。
datagrid控件是分页显示的,row属性指的是当前页的行号。
如果已经绑定:

Dim j As Integer
For j = 1 To rs.RecordCount
rs.recordset.absoluteposition = j
Debug.Print DataGrid1.Row
If DataGrid1.Columns(1).Text <> "" Then
DataGrid1.Columns(1).Text = ""
End If
Next j
xzqgd1 2002-12-18
  • 打赏
  • 举报
回复
以上两位都说错了:
1,rs的值是正确的。debug.print的值正是rs的值。
2,datagrid控件没有rows的属性。不信你们自己试试。
lcmhl1 2002-12-18
  • 打赏
  • 举报
回复
应该如下:
Dim j As Integer
rs.movelast '即先把记录集移动到最后一行,这样recordcount的值才是整个记录集的值
For j = 0 To rs.RecordCount - 1
DataGrid1.Row = j
Debug.Print DataGrid1.Row
If DataGrid1.Columns(1).Text <> "" Then
DataGrid1.Columns(1).Text = ""
End If
Next j
饮水需思源 2002-12-18
  • 打赏
  • 举报
回复
将For j = 0 To rs.RecordCount - 1
改成 For j = 0 To datagrid1.rows - 1
试试

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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