Foxtable(狐表)用户栏目专家坐堂 → [求助]DataColChanged调用的目标发生了异常


  共有2071人关注过本帖树形打印复制链接

主题:[求助]DataColChanged调用的目标发生了异常

帅哥哟,离线,有人找我吗?
seal51
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
[求助]DataColChanged调用的目标发生了异常  发帖心情 Post By:2018/8/27 18:23:00 [只看该作者]

.NET Framework 版本:2.0.50727.8833
Foxtable 版本:2018.8.29.1
错误所在事件:表,报价明细表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。




'报价明细表里的所有项已订购都打钩后, 报价主表里的已订购自动打钩
'报价明细表里的所有项已订购都打钩后, 报价主表里的已订购自动打钩, 发现报价明细表里有一项未订购,去掉勾后报价主表的已订购自动去掉勾勾 
If e.DataCol.name="已报价" Then
    Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已报价=true")
    If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
        e.DataRow.GetParentRow("报价主表")("已报价")=True
    Else
        e.DataRow.GetParentRow("报价主表")("已报价")=False
    End If
End If

If e.DataCol.name="已订购" Then
    Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已订购=true")
    If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
        e.DataRow.GetParentRow("报价主表")("已订购")=True
    Else
        e.DataRow.GetParentRow("报价主表")("已订购")=False
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/27 18:37:00 [只看该作者]


If e.DataCol.name="已报价" Then
    Dim pdr = e.DataRow.GetParentRow("报价主表")
    If pdr IsNot Nothing Then
        Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已报价=true")
        If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
           
            pdr("已报价")=True
        Else
            pdr("已报价")=False
        End If
    End If
End If


If e.DataCol.name="已订购" Then
    Dim pdr = e.DataRow.GetParentRow
    If pdr IsNot Nothing Then
        Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已订购=true")
        If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
            pdr("已订购")=True
        Else
            pdr("已订购")=False
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
seal51
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2018/8/27 18:45:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:cuowu20180827184320.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
seal51
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2018/8/27 18:46:00 [只看该作者]

知道错在哪里了, 谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
seal51
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1838 积分:13006 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2018/8/27 18:50:00 [只看该作者]

正确的如下,回复记录一下!谢谢老师!

If e.DataCol.name="已报价" Then
    Dim pdr = e.DataRow.GetParentRow("报价主表")
    If pdr IsNot Nothing Then
        Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已报价=true")
        If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
            
            pdr("已报价")=True
        Else
            pdr("已报价")=False
        End If
    End If
End If

If e.DataCol.name="已订购" Then
    Dim pdr = e.DataRow.GetParentRow("报价主表")
    If pdr IsNot Nothing Then
        Dim xdList As List(of DataRow)=e.DataTable.Select("工作号='" & e.DataRow("工作号") & "'and 已订购=true")
        If xdList.count=e.DataTable.Select("工作号='" & e.DataRow("工作号") &"'").count Then
            pdr("已订购")=True
        Else
            pdr("已订购")=False
        End If
    End If
End If

 回到顶部