Foxtable(狐表)用户栏目专家坐堂 → 请问行隐藏和行冻结


  共有3392人关注过本帖树形打印复制链接

主题:请问行隐藏和行冻结

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107347 积分:546002 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/30 10:46:00 [只看该作者]

遍历所有行,如果锁的就解锁,没有锁的就锁上


 回到顶部
帅哥哟,离线,有人找我吗?
13796361423
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
命令组合  发帖心情 Post By:2020/12/30 11:06:00 [只看该作者]

Dim ids As String
Dim lst As new List(of String)
Dim drs As List(Of  DataRow) =  DataTables("初二鹤立考点").Select("代码='36'")
Dim cnt As Integer = drs.Count
Do
    Dim Id As Integer = rand.Next(0,cnt)
    id = drs(id)("_Identify")
    If lst.Contains(id) =False Then
        lst.Add(id)
        drs(id).baserow("_locked") = True
    End If
Loop While lst.count < 5

Dim ids As String
Dim lst As new List(of String)
Dim drs As List(Of DataRow) = DataTables("初二鹤立考点").Select("代码='38'")
Dim cnt As Integer = drs.Count
Do
Dim Id As Integer = rand.Next(0,cnt)
id = drs(id)("_Identify")
If lst.Contains(id) =False Then
lst.Add(id)
drs(id).baserow("_locked") = True
End If
Loop While lst.count < 5

Dim ids As String
Dim lst As new List(of String)
Dim drs As List(Of DataRow) = DataTables("初二鹤立考点").Select("代码='44'")
Dim cnt As Integer = drs.Count
Do
Dim Id As Integer = rand.Next(0,cnt)
id = drs(id)("_Identify")
If lst.Contains(id) =False Then
lst.Add(id)
drs(id).baserow("_locked") = True
End If
Loop While lst.count < 5

Dim ids As String
Dim lst As new List(of String)
Dim drs As List(Of DataRow) = DataTables("初二鹤立考点").Select("代码='45'")
Dim cnt As Integer = drs.Count
Do
Dim Id As Integer = rand.Next(0,cnt)
id = drs(id)("_Identify")
If lst.Contains(id) =False Then
lst.Add(id)
drs(id).baserow("_locked") = True
End If
Loop While lst.count < 5

 

 

请问这几个命令如何能合在一起?

 


图片点击可在新窗口打开查看此主题相关图片如下:7.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107347 积分:546002 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/30 11:36:00 [只看该作者]

dim str() as string = {"36","38","44"}

Dim lst As new List(of String)
Dim drs As List(Of  DataRow)
for each s as string in str
lst.clear
drs =  DataTables("初二鹤立考点").Select("代码='" &  s & "'")
Dim cnt As Integer = drs.Count
Do
    Dim Id As Integer = rand.Next(0,cnt)
    id = drs(id)("_Identify")
    If lst.Contains(id) =False Then
        lst.Add(id)
        drs(id).baserow("_locked") = True
    End If
Loop While lst.count < 5
next

 回到顶部
帅哥哟,离线,有人找我吗?
13796361423
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
请问如何把命令加上去  发帖心情 Post By:2020/12/30 11:50:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
 If DataTables("表A").DataRows(dr).Locked = False Then '如果第一行没有锁定
    DataTables("表A").DataRows(dr).Locked = True '锁定第一行
End If
Next

 

请问这个循环如何写?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107347 积分:546002 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/30 11:51:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
 dr.Locked = Not dr.Locked
Next

 回到顶部
帅哥哟,离线,有人找我吗?
13796361423
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
请问这是问题出在哪里?  发帖心情 Post By:2020/12/30 13:12:00 [只看该作者]

Dim str() As String = {"36","38","44","45"}
Dim lst As new List(of String)
Dim drs As List(Of DataRow)
For Each s As String In str
lst.clear
drs = DataTables("表A").Select("第二列='" & s & "'")
Dim cnt As Integer = drs.Count
Do
Dim Id As Integer = rand.Next(0,cnt)
id = drs(id)("_Identify")
If lst.Contains(id) =False Then
lst.Add(id)
drs(id).baserow("_locked") = True
End If
Loop While lst.count < 6
Next

图片点击可在新窗口打开查看此主题相关图片如下:1111111113.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107347 积分:546002 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/30 13:36:00 [只看该作者]

lst.clear
drs = DataTables("表A").Select("第二列='" & s & "'")
Dim cnt As Integer = drs.Count
if cnt = 0 then continue for

 回到顶部
帅哥哟,离线,有人找我吗?
13796361423
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
还是出现同样的错误  发帖心情 Post By:2020/12/30 13:53:00 [只看该作者]

Dim str() As String = {"36","38","44","45"}
Dim lst As new List(of String)
Dim drs As List(Of DataRow)
For Each s As String In str
lst.clear
drs = DataTables("表A").Select("第二列='" & s & "'")
Dim cnt As Integer = drs.Count
If cnt = 0 Then Continue For
Do
Dim Id As Integer = rand.Next(0,cnt)
id = drs(id)("_Identify")
If lst.Contains(id) =False Then
lst.Add(id)
drs(id).baserow("_locked") = True
End If
Loop While lst.count < 6
Next

图片点击可在新窗口打开查看此主题相关图片如下:2222222222.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107347 积分:546002 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/30 14:05:00 [只看该作者]

Dim str() As String = {"36","38","44","45"}
Dim lst As new List(of String)
Dim drs As List(Of DataRow)
Dim c As Integer = 6
For Each s As String In str
    lst.clear
    drs = DataTables("表A").Select("第二列='" & s & "'")
    Dim cnt As Integer = drs.Count
    If cnt <= c Then
        DataTables("表A").ReplaceFor("_locked",True,"第二列='" & s & "'")
    Else
        Do
            Dim i As Integer = rand.Next(0,cnt)
            Dim id = drs(i)("_Identify")
            If lst.Contains(id) =False Then
                lst.Add(id)
                drs(i).baserow("_locked") = True
            End If
        Loop While lst.count < c
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
13796361423
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:179 积分:1932 威望:0 精华:0 注册:2020/2/14 18:49:00
剪贴  发帖心情 Post By:2020/12/30 17:01:00 [只看该作者]

Dim str() As String = {"36","38","44","45"}
Dim lst As new List(of String)
Dim drs As List(Of DataRow)
Dim c As Integer = 6
For Each s As String In str
    lst.clear
    drs = DataTables("初二鹤立考点").Select("代码='" & s & "'")
    Dim cnt As Integer = drs.Count
    If cnt <= c Then
        DataTables("初二鹤立考点").ReplaceFor("_locked",True,"代码='" & s & "'")
    Else
        Do
            Dim i As Integer = rand.Next(0,cnt)
            Dim id = drs(i)("_Identify")
            If lst.Contains(id) =False Then
                lst.Add(id)
                drs(i).baserow("_locked") = True
            End If
        Loop While lst.count < c
    End If
Next

 

 

你好, 这个命令最后是把一些行锁定了, 请问如何把锁定的行剪贴到相同结构的表B里?


 回到顶部
总数 25 上一页 1 2 3 下一页