Foxtable(狐表)用户栏目专家坐堂 → 根据数据库里面的信息实现目录树


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

主题:根据数据库里面的信息实现目录树

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
根据数据库里面的信息实现目录树  发帖心情 Post By:2018/7/29 9:22:00 [只看该作者]

1、实现目录树源码:

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("organList")
tr.StopRedraw()''停止绘制目录树
tr.Nodes.Clear
'tr.Nodes.Add("全部")
For Each dr As DataRow In dt.datarows
    If dr.IsNull("superName") Then
   'If dr("organName") = _UserOrgan Then
        nd = tr.Nodes.Add(dr("organName"),dr("organName"))
        Functions.Execute("AddChildren",nd,dt)
    End If
Next
tr.ResumeRedraw() ''恢复绘制目录树

 

老师,我的organlist设置了分页加载,因此初始加载为5,但是,我又需要实现根据数据库里面的organlist实现目录树?

 

2、表格的指定行高亮,貌似初始默认第一行,可以实现鼠标放上去才高亮,否则不必要高亮么?也没有初始默认高亮的行


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


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

1、方法一:建议前部加载出来,这样生成才快。

 

方法二:你可以使用sqlcommand后台查询生成临时表,根据临时表生成。

 

方法三:你可以使用sqlSelect后台查询数据

 

2、Tables("表A").select(-1, -1)


 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/7/29 16:41:00 [只看该作者]

老师,我全部加载出来后,可以分页显示么?不用listview,就用表分页显示?


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


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

以下是引用susu312在2018/7/29 16:41:00的发言:

老师,我全部加载出来后,可以分页显示么?不用listview,就用表分页显示?

 

可以啊,查询对应的行,组合成筛选条件,设置即可啊。

 

如 Tables("表A").Filter = "_Identify in (10, 11, 12, 13, 14)"


 回到顶部
美女呀,离线,留言给我吧!
susu312
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/7/29 18:36:00 [只看该作者]

Dim pg As Integer = e.Form.Controls("Label1").Text
Dim idx1 As Integer = (pg - 1) * 5 '获取要显示的第一行
Dim idx2 As Integer =  pg * 5 - 1   '获取要显示的最末行
idx2 = Math.Min(DataTables("organList").dataRows.Count -1,idx2) 'idx2不能超过表的最大行

Dim Filter As String
Filter =""
Filter = Filter & " _Identify >= " & idx1 & " "
Filter = Filter & " And "
Filter = Filter & " _Identify  <= " & idx2 & " "
Tables("person").Filter = Filter

 

 

 

老师,这段代码放在afterload里面为啥不管用呀


 回到顶部
美女呀,离线,留言给我吧!
susu312
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/7/29 18:41:00 [只看该作者]

哎呀我知道了,我刚智障了


 回到顶部
美女呀,离线,留言给我吧!
susu312
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/7/29 18:56:00 [只看该作者]

老师,表实现分页中,显示那个按钮的功能是如何实现的 ,原理和listview 是一样的?

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


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

以下是引用susu312在2018/7/29 18:56:00的发言:
老师,表实现分页中,显示那个按钮的功能是如何实现的 ,原理和listview 是一样的?

 

合成filter条件,看看这里

 

http://www.foxtable.com/webhelp/scr/2228.htm

 

 


 回到顶部