Foxtable(狐表)用户栏目专家坐堂 → [求助]如何在Drawcall中用代码引用父表的关联数据


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

主题:[求助]如何在Drawcall中用代码引用父表的关联数据

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


加好友 发短信
等级:小狐 帖子:352 积分:3237 威望:0 精华:0 注册:2012/3/7 10:28:00
[求助]如何在Drawcall中用代码引用父表的关联数据  发帖心情 Post By:2013/3/3 14:09:00 [只看该作者]

已经知道可以用DataRow引用父表中的关联数据,可以用Row引用父表中的关联数据吗?


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/3/4 8:09:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/4 9:13:00 [只看该作者]

既然DataRow可以,那么Row也可以。

因为Row有DataRow属性,可以返回对应的DataRow:

 

e.Row.DataRow.GetParentRow("父表名称")

 

不过确实不应该在DrawCell事件中有太多复杂的计算和引用工作,以免影响运行速度。


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


加好友 发短信
等级:小狐 帖子:352 积分:3237 威望:0 精华:0 注册:2012/3/7 10:28:00
  发帖心情 Post By:2013/3/4 9:30:00 [只看该作者]

我用了:

  Dim kmmcs As DataRow = e.Row.DataRow.GetParentRow("收入科目")
  Dim kmmc As String = kmmcs("科目名称")

  问题解决了。

 

不知道这样做是不是会影响运行速度?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/4 9:47:00 [只看该作者]

实际运行就知道了,自己能接受就行。

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


加好友 发短信
等级:小狐 帖子:352 积分:3237 威望:0 精华:0 注册:2012/3/7 10:28:00
  发帖心情 Post By:2013/3/4 10:11:00 [只看该作者]

Dim kmmcs As DataRow = e.Row.DataRow.GetParentRow("收入科目")
Select Case e.col.name
    Case "科目名称","税款所属日期","开piao日期","税piao类型","税piao铅印号","科目代码"
        If e.Row("科目名称") = kmmcs("科目名称") And kmmcs("末级标志") = True
            e.style = "科目名称绿"
        End If
    Case "乡镇代码","乡镇名称","征收部门代码","征收部门名称"
        e.style = "黄色"
End Select

 

改成了以上代码,可以运行,但是过一会儿会出现以下错误代码,并清除了所有格式,不知是什么原因?

Exception has been thrown by the target of an invocation.

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/4 10:13:00 [只看该作者]

Dim kmmcs As DataRow = e.Row.DataRow.GetParentRow("收入科目")
If kmmcs  IsNot Nothing Then
    Select Case e.col.name
        Case "科目名称","税款所属日期","开piao日期","税piao类型","税piao铅印号","科目代码"
            If e.Row("科目名称") = kmmcs("科目名称") And kmmcs("末级标志") = True
                e.style = "科目名称绿"
            End If
        Case "乡镇代码","乡镇名称","征收部门代码","征收部门名称"
            e.style = "黄色"
    End Select
End If


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


加好友 发短信
等级:小狐 帖子:352 积分:3237 威望:0 精华:0 注册:2012/3/7 10:28:00
  发帖心情 Post By:2013/3/4 10:15:00 [只看该作者]

问题解决了,谢谢狐狸爸爸

 回到顶部