以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  下一行随机  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92966)

--  作者:yangwenghd
--  发布时间:2016/11/17 12:05:00
--  下一行随机
问问 下一行在 Table1 里面随机可以吗?然后 随机完了 跳槽一个窗口 已经完成。
感谢 感谢  
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161117120237.jpg
图片点击可在新窗口打开查看

--  作者:有点青
--  发布时间:2016/11/17 12:25:00
--  
Dim t As Table = Tables("表A")
Dim idx As Integer = Rand.Next(t.rows.count)
t.Position = idx

--  作者:yangwenghd
--  发布时间:2016/11/17 12:34:00
--  
感谢 可以加一个CheckBox1在什么吗?选中后才随机 如果没选中 就按顺序 下一行 ,如果是选中随机 当 Table1 都随机完后 弹出一个窗口,显示“已经完成”
--  作者:有点蓝
--  发布时间:2016/11/17 14:23:00
--  
Dim t As Table = Tables("表A")
If Forms("窗口1").Controls("CheckBox1").Checked
    Dim idx As Integer = Rand.Next(t.rows.count)
    t.Position = idx
ElseIf t.Position < t.Rows.Count - 1
    t.Position = t.Position + 1
End If

--  作者:yangwenghd
--  发布时间:2016/11/18 22:09:00
--  
如果选中随机后 不重复  都已经选中了一次了 然后在弹出一个窗口 已经完成 可以吗
--  作者:有点蓝
--  发布时间:2016/11/19 9:14:00
--  
afterload事件

vars("Selected") = new List(of integer)

下一个按钮事件

Dim lst As List(of Integer) = Vars("Selected")
Dim idx As Integer
Dim t As Table = e.Form.Controls("Table1").Table
If e.Form.Controls("CheckBox1").Checked
    idx = Rand.Next(t.rows.count)
ElseIf t.Position < t.Rows.Count - 1
    idx = t.Position + 1
End If
If lst.Contains(t.Rows(idx)("_Identify"))
    msgbox("已选过")
Else
    lst.Add(t.Rows(idx)("_Identify"))
    t.Position = idx
End If

AfterClose事件
Dim lst As List(of Integer) = Vars("Selected")
lst.Clear

--  作者:有点蓝
--  发布时间:2016/11/19 9:16:00
--  
建议换一种方式处理,把选过的行移除
--  作者:yangwenghd
--  发布时间:2016/11/19 19:20:00
--  
我刚才试过了,谢谢 ,没有显示完就显示 弹出了窗口,如果太复杂了就算了吧,
随机不用管功能你之前棒我的那个就可以了谢谢 
我可以在加一点吗?就是 当 如果不是随机的时候 选到最后一行了 点击下一行 就跳到 第一行 ,然后还是排除已选过

Dim t As Table = Tables("主窗口_Table1")
If Forms("主窗口").Controls("CheckBox1").Checked
    Dim idx As Integer = Rand.Next(t.rows.count)
    t.Position = idx
ElseIf t.Position < t.Rows.Count + 1
    t.Position = t.Position + 1
End If

能帮忙看看这个吗?就是 当最后一行的时候 点击现一行 就条到第一行,然后为什么 当最后一行的时候 点击上一行 不能上去呢?
[此贴子已经被作者于2016/11/19 19:28:34编辑过]

--  作者:有点青
--  发布时间:2016/11/20 10:02:00
--  
Dim t As Table = Tables("表A")
If Forms("窗口1").Controls("CheckBox1").Checked
    Dim idx As Integer = Rand.Next(t.rows.count)
    t.Position = idx
Else
    If t.Position < t.Rows.Count - 1
        t.Position = t.Position + 1
    Else
        t.Position = 0
    End If
End If

--  作者:yangwenghd
--  发布时间:2016/11/29 18:33:00
--  
Dim drs As List(Of DataRow) = t.DataTable.Select("听写_状态 Is null Or 听写_状态 = \'学习中\'")
这段代码有问题吗 
感谢 感谢