以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 下一行随机 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92966) |
-- 作者:yangwenghd -- 发布时间:2016/11/17 12:05:00 -- 下一行随机 问问 下一行在 Table1 里面随机可以吗?然后 随机完了 跳槽一个窗口 已经完成。 |
-- 作者:有点青 -- 发布时间: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 听写_状态 = \'学习中\'") 这段代码有问题吗 感谢 感谢
|