以文本方式查看主题

-  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=123568)

--  作者:huizhong
--  发布时间:2018/8/17 18:51:00
--  求助:系统报错 此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

错误信息如下

NET Framework 版本:2.0.50727.8825
Foxtable 版本:2018.7.9.1
错误所在事件:发票台账,CurrentChanged
详细错误信息:
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

 

错误所在事件代码如下:(窗口表副本控件事件代码

If Tables("高开虚开发票窗口_Table2").rows.count > 0 Then
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("发票台账").FindRow(dr)
    If wz >=0 Then
        Tables("发票台账").Position = wz
    End If
Tables("发票台账").Current.load() \'重新加载当前行的最新记录
End If

 

主表的PrepareEdit事件代码如下

If e.IsFocusCell Then \'如果是焦点所在单元格
    If e.Col.Name = "开票类别" Then \'如果正在编辑的是供应商名称
        e.Col.Combolist = DataTables("发票类别档案").GetComboListString("税率", "[标识列] = \'财务\'") \'从供应商档案表提取该索引的供应商作为列表项目
    End If
End If

 

主表的DataColChanged事件代码如下

Select Case e.DataCol.Name
    Case "财务处理时间","项目编号","客户名称","开票类别","发票号码","开票金额","作废","代收代付客户名称"
        e.DataRow("发生时间") = Date.Now
        e.DataRow("经手人") = User.Name
End Select
If e.DataCol.Name = "项目编号"  Then
    Dim DD As  DataRow
    DD =  DataTables("项目基础表").Find("[项目编号] = \'" & e.NewValue &  "\'")
    If DD IsNot Nothing
        e.DataRow("公司标记") = DD("公司标记")
        e.DataRow("执行人姓名") = DD("执行人姓名")
    End  If
ElseIf e.DataCol.Name = "开票人"  Then
    Dim FF As  DataRow
    FF =  DataTables("员工档案").Find("[员工姓名] = \'" & e.NewValue &  "\'")
    If FF IsNot Nothing
        e.DataRow("公司标记") = FF("公司标记")
    End  If
End  If

 

 

老师帮忙看看是什么情况,谢谢


--  作者:有点蓝
--  发布时间:2018/8/17 20:36:00
--  
不能在副本表currentchanged给主表对应的行重新加载。副本的更改会实时反映到主表,不需要重新加载

1、把副本改为sqltable
2、加载不用放在currentchanged,使用按钮等等

--  作者:huizhong
--  发布时间:2018/8/20 12:04:00
--  

老师,重新加载是为了在多用户同时使用的时候可以实时看到新数据

如果,我在新增行的的表事件中加入保存代码可以解决吗,我试了一下,似乎可以,不知是否存在其他隐患

 


--  作者:有点蓝
--  发布时间:2018/8/20 13:36:00
--  
重新加载有很多方式,就是不能在currentchanged事件加载自己。
--  作者:huizhong
--  发布时间:2018/8/20 14:27:00
--  

老师,如果在PositionChanged事件中重新加载可以吗

 


--  作者:有点蓝
--  发布时间:2018/8/20 14:29:00
--  
自己加加载自己大部分都有问题。换个思路吧
--  作者:huizhong
--  发布时间:2018/8/20 14:40:00
--  
好的,谢谢