以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99465) |
-- 作者:xluoping -- 发布时间:2017/4/19 20:28:00 -- 此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据 .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2017.3.18.1 错误所在事件: 详细错误信息: 此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据 新增行后自动打开一个窗口,然后按取消按钮(不保存行,退出窗口),出现以上错误! 关键是 错误所在事件: 没有内容,无法调试 请老师帮助! 表 “任务” 对应设置了以下代码: BeforeAddDataRow If CurrentTable.Name = "任务" Then If CurrentTable.Current IsNot Nothing Then Else e.Cancel = True MessageBox.Show("请在项目表下新建任务!","提示") End If End If DataRowAdding If CurrentTable.Name = "任务" Then e.DataRow("项目ID") = CurrentTable.Current("项目ID") End If DataRowAdded Dim db As DataTable = e.DataTable Dim dr As DataRow = e.DataRow dr("创建人") = _username dr("紧急程度") = "普通" Dim i As Integer = Tables("任务").FindRow(e.DataRow) If i >= 0 Then Tables("任务").Position = i End If Forms("任务").Open() |
-- 作者:有点色 -- 发布时间:2017/4/19 20:32:00 -- 这段代码去掉,看是否还报错
Dim i As Integer = Tables("任务").FindRow(e.DataRow)
If i >= 0 Then
Tables("任务").Position = i
End If
你为什么要写这段?你新增行的时候直接写 Tables("任务").AddNew 不就行了? |
-- 作者:xluoping -- 发布时间:2017/4/20 10:22:00 -- Dim i As Integer = Tables("任务").FindRow(e.DataRow) If i >= 0 Then Tables("任务").Position = i End If 这段代码,是因为,我增加行是在 子表中增加:Tables("项目.任务"),或者Tables("客户.项目.任务"),而窗口绑定的字段是 Tables("任务")
|
-- 作者:有点色 -- 发布时间:2017/4/20 10:27:00 -- 你撤销的时候,尝试不触发事件
http://www.foxtable.com/webhelp/scr/2218.htm
如果有问题,做个例子上来看看。 |