先说报错:全局代码:PrepareEdit
If e.Table.Cols.Contains("审核") AndAlso e.Table.IsRelation =False Then
If e.Row("审核") = True AndAlso e.Col.Name <> "审核" Then '本条记录审核后禁止编辑除审核外的所有列
e.Cancel = True
ElseIf e.Row("审核") = False Then '未审核的记录在编辑前检查是否在后台已经被审核
Dim cmd As New SQLCommand
cmd.C
cmd.C ommandText = "S elect [审核] F rom {" & e.Table.Name & "} Where [_Identify] = " & e.Row("_Identify") '从后台读取记录的审核列值
Dim sh As Boolean = cmd.ExecuteScalar() '后台读取的审核列值赋值给sh变量
If sh = True Then
Dim 行号 As Integer = e.Row("_Identify") '将即将被移除的行的_Identify值赋值给变量行号
e.Table.DataTable.RemoveFor("[_Identify] = " & e.Row("_Identify")) '移除本行
e.Table.DataTable.AppendLoad("[_Identify] = " & 行号) '重新加载之前移除的行
MessageBox.Show("本条记录已经在后台被审核,现已重新加载!" , "提示" , MessageBoxButtons.OK ,MessageBoxIcon.Information)
End If
End If
End If
以下是窗口表设置:
此主题相关图片如下:窗口表设置.jpg
在这个窗口表上随便哪一行点下,就会报错:
此主题相关图片如下:报错图.jpg
想不明白这是何解,请老师帮忙看看
另外,在这个窗口表上,我想按 CTRL + ↑ 及 CTRL + ↓ 来移动行,这样排工序方便点,不要在顺号列录序号来控制了,请老师帮忙写下示例代码,谢谢!