以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]代码运行错误,帮忙看下~ (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77240) |
-- 作者:jwt -- 发布时间:2015/11/13 15:32:00 -- [求助]代码运行错误,帮忙看下~ 代码如下: Dim cnt As Integer = DataTables("题库").DataRows.Count Dim str As New List(of Integer) \'用于存储洗牌前的位置 For i As Integer = 0 To cnt -1 \'准备初始的牌 str.add(i) Next For i As Integer = 1 To str.count \'洗牌测次数 Dim rnum1 As Integer = Rand.Next(str.count -1) Dim rnum2 As Integer = Rand.Next(str.count -1) Dim temp As String = str(rnum1) str(rnum1) = str(rnum2) str(rnum2) = temp Next Tables("题库").StopRedraw() DataTables("题库").ReplaceFor("抽取",False) For i As Integer = 0 To 10- 1 \'5为要抽取的行数 DataTables("题库").DataRows(str(i))("抽取") = True Next Tables("题库").Filter = "[抽取] = True" Tables("题库").ResumeRedraw() DataTables("题库").dataRows.delete("序号") \'清除序号列原有数据 DataTables("题库").DataCols("题目").RaiseDataColChanged()\'重置序号列 Tables("题库").save forms("初始界面").close forms("答题面板").open 经过测试,应该是下面这段代码有问题,附错误提示截图。 DataTables("题库").dataRows.delete("序号") \'清除序号列原有数据 DataTables("题库").DataCols("题目").RaiseDataColChanged()\'重置序号列 |
-- 作者:大红袍 -- 发布时间:2015/11/13 15:34:00 -- DataTables("题库").ReplaceFor("序号", "") \'清除序号列原有数据 |
-- 作者:jwt -- 发布时间:2015/11/13 15:42:00 -- 谢谢~又发现个问题,我在表的datacolchanged里面写的自动编号的代码运行后,是对表内所有数据的重新编码,我本意是对筛选后的10个数据重新进行序号的编码。求思路。 |
-- 作者:大红袍 -- 发布时间:2015/11/13 15:44:00 -- Tables("题库").Filter = "[抽取] = True" For Each r As Row In Tables("题库").Rows r("序号") = r.Index + 1 Next |
-- 作者:jwt -- 发布时间:2015/11/13 16:50:00 -- 首先感谢大红袍对上一问题的耐心解答~新问题来了~问题出在给当前行选择列赋值上。附图: Dim rdo1 As WinForm.RadioButton Dim rdo2 As WinForm.RadioButton Dim rdo3 As WinForm.RadioButton Dim rdo4 As WinForm.RadioButton rdo1 = Forms("答题面板").Controls("RadioButton1") rdo2 = Forms("答题面板").Controls("RadioButton2") rdo3 = Forms("答题面板").Controls("RadioButton3") rdo4 = Forms("答题面板").Controls("RadioButton4") If rdo1.Checked = True Then DataTables("题库").DataRows("选择")="A" Else If rdo2.Checked = True Then DataTables("题库").DataRows("选择")="B" Else If rdo3.Checked = True Then DataTables("题库").DataRows("选择")="C" Else If rdo4.Checked = True Then DataTables("题库").DataRows("选择")="D" Else MessageBox.Show("请选择你的答案 !", "提示", MessageBoxButtons.Ok, MessageBoxIcon.Warning) End If
|
-- 作者:大红袍 -- 发布时间:2015/11/13 17:14:00 -- Dim cr As Row = Tables("题库").Current
If rdo1.Checked = True Then
cr("选择")="A"
Else If rdo2.Checked = True Then
cr("选择")="B"
Else If rdo3.Checked = True Then
cr("选择")="C"
Else If rdo4.Checked = True Then
cr("选择")="D"
Else
MessageBox.Show("请选择你的答案 !", "提示", MessageBoxButtons.Ok, MessageBoxIcon.Warning)
End If
|