Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树节点对应DataRow的打印代码怎么写?


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

主题:[求助]目录树节点对应DataRow的打印代码怎么写?

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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
[求助]目录树节点对应DataRow的打印代码怎么写?  发帖心情 Post By:2016/3/28 16:00:00 [只看该作者]

比如窗口1中有个目录筛选树,现在要打印选定节点所对应的DataRow("姓名")的内容,该代码怎么写?请高手赐教!

 如:rt.Cells(1,4).Text= "姓名:"
     rt.Cells(1,5).Text= ?.DataRow("姓名")

?的代码怎么写?

[此贴子已经被作者于2016/3/28 16:19:19编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 16:15:00 [只看该作者]

 关键是你要怎么打印,直接列出内容?

 

Dim trv As WinForm.TreeView = forms("窗口1").controls("treeview1")

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderText '定义一个文本对象
rt.Text = trv.SelectedNode.DataRow("第一列")
doc.Body.Children.Add(rt) '将文本对象加入到报表
doc.Preview() '预览


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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2016/3/28 16:26:00 [只看该作者]

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim drv As  WinForm.TreeNode = trv.SelectedNode

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim drv1 As  WinForm.TreeNode = trv1.SelectedNode

...

If drv.IsSelected = True  Then

 rt.Cells(1,5).Text= drv.DataRow("姓名")

elseIf drv1.IsSelected = True  Then

rt.Cells(1,5).Text= drv1.DataRow("姓名")

End If

是这样写的,老是提示"未将对象引用设置到对象的实例。"

[此贴子已经被作者于2016/3/28 16:31:14编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 16:29:00 [只看该作者]

1、你的目录树,必须是通过 buildtree 生成的才能用 DataRow 属性。

 

2、如果是提示错误,可以直接查询,再赋值,如

 

Dim fdr As DataRow = DataTables("表A").Find("条件")

If fdr IsNot Nothing Then

    rt.Cells(1,5).Text = fdr("姓名")

End If


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


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2016/3/28 16:33:00 [只看该作者]

窗口中有两个目录筛选树.


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 16:37:00 [只看该作者]

1、看4楼;

 

2、那是不是你有一个目录树的SelectedNode为空值?

 

If drv is Nothing Then

    drv = trv.Nodes(0)

End If

If drv1 is Nothing Then

    drv1 = trv1.Nodes(0)

End If


 回到顶部
帅哥哟,离线,有人找我吗?
狂风暴雨狂波
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2016/3/28 16:41:00 [只看该作者]

窗口中afterload事件

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT ...''

dt = cmd.ExecuteReader()
trv.BuildTree(dt, "收款人|年|月|日")
trv.Nodes.Insert("收款人员",0)
Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree(dt, "收款部门|年|月|日")
trv1.Nodes.Insert("收款部门",0)


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 16:44:00 [只看该作者]

看6楼。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 16:45:00 [只看该作者]

判断一下 drv 和 drv.DataRow 是不是空值

 回到顶部
帅哥哟,离线,有人找我吗?
狂风暴雨狂波
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:314 积分:3043 威望:0 精华:0 注册:2014/3/21 17:22:00
  发帖心情 Post By:2016/3/28 16:53:00 [只看该作者]

drv.IsSelected = True 这个还要不要判断?

 回到顶部
总数 13 1 2 下一页