VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 670|回复: 8

VB.NET的定位DataGride中行的问题

[复制链接]

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-20 21:00:02 | 显示全部楼层 |阅读模式
我是新手 最近做了一个小型的MIS
原来提供的修改功能是必须从DataGrid3中选取行再行修改的
因为前台提供用户修改密码
所以在显示的时候DataGrid3是隐藏的 这样就不能进行选取了
所以必须提前定位到该用户所在的行以下是我的方法但是读来读取读的都是第一行的数据请高手帮忙

Private Sub newa()
       '定义
        Dim olecn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\data\Clients.mdb")
        Dim olecm As New OleDbCommand("select * from StudentUser", olecn)
        Dim olead As New OleDbDataAdapter
        Dim olerd As OleDbDataReader
        Dim pd As Boolean = False '定义boolean为后面错误处理使用
        Dim i As Integer
        olecm = New OleDbCommand("select * from StudentUser", olecn)
        '与数据库建立连接
        olecn.Open()
        olerd = olecm.ExecuteReader
        '循环判断与数据库中数据是否相同



        Do While olerd.Read()
            For i = 0 To olerd.FieldCount - 1
                If Trim(login.zhtl.Text) = (olerd.Item("Usename")) Then
                    Me.DataGrid3.CurrentRowIndex = i
                  

                    Exit Sub
                End If
            Next
        Loop
      


    End Sub
回复

使用道具 举报

0

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-31 21:36:01 | 显示全部楼层
datagrid中的行是从1开始的 ,你的i是从0开始计算的,你把me.datagrid3.currentrowindex=i
换成me.datagrid3.currentrowindex=i+1 试试
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-2-9 08:30:02 | 显示全部楼层
顶好象还不行
回复

使用道具 举报

1

主题

5

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-10 16:30:01 | 显示全部楼层
me.datagrid3.CurrentCell.RowNumber=i
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-2-12 18:30:01 | 显示全部楼层
me.datagrid3.CurrentCell.RowNumber=i
改过了
提示 错误        13        表达式是一个值,因此不能作为赋值目标。       
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-2-19 16:30:01 | 显示全部楼层

等待高人
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-3-3 16:45:01 | 显示全部楼层
继续等待
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-5 21:15:01 | 显示全部楼层
FieldCount 是有多少列,不明白你这么循环有什么用
Do While olerd.Read()
    If Trim(login.zhtl.Text) = (olerd.Item("Usename")) Then
        Me.DataGrid3.CurrentRowIndex = i
           Exit Sub
      End If
      i+=1
Loop
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-3-10 13:15:01 | 显示全部楼层
问题解决了
感谢这位前辈
我原来以为那是调用行的.....因为是初学所以对很多对象不是了解...
如果我对datagraid了解的再多点那就好了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表