Foxtable(狐表)用户栏目专家坐堂 → 自定义加载树翻页出现重复数据的问题!!


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

主题:自定义加载树翻页出现重复数据的问题!!

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
自定义加载树翻页出现重复数据的问题!!  发帖心情 Post By:2014/6/9 10:21:00 [显示全部帖子]


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

图片点击可在新窗口打开查看此主题相关图片如下:chukumingxi.jpg
图片点击可在新窗口打开查看
以上是库存中一个产品的出库数量,和出库的明细!

但是看下图,我切换到出库界面,通过自定义加载树查询出库信息的时候,从第2,3,4页都显示同样的页面,一直到第5页才更新数据。

这是为什么啊?


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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/9 10:21:00 [显示全部帖子]


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

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

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

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/9 10:23:00 [显示全部帖子]

虽然出库里切换了3页都显示同样的数据,但是库存里统计数据的时候还是准确的。

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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/9 13:15:00 [显示全部帖子]

仔细核对了,数据库里没有重复的数据。请仔细看上面的图片,我是从第2页一直到第4页,数据没有改变啊,可是数据库里并没有重复。点分页加载的下一页,并不加载数据。


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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/9 15:40:00 [显示全部帖子]

窗口afterload事件:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT Year(出库日期) As 年, Month(出库日期) As 月, 领料班组 From {辅材出库管理}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"年|月|领料班组")
trv.Nodes.Insert("加载所有数据",0)

'加载第一页数据
With DataTables("辅材出库管理")
    .LoadFilter = "" '清除加载条件
    .LoadPage = 0 '加载第一页
    .LoadTop = 10 '每页10行
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

 

记载树的NodeMouseClick:

Dim Filter As String

If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else 
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
    Dim Year As Integer = dr("年")
    Dim Month As Integer = dr("月")
    Dim Product As String = dr("领料班组")
    Select Case e.Node.Level
        Case 0
            Filter ="Year(出库日期) = " & Year
        Case 1
            Filter ="Year(出库日期) = " & Year & " And Month(出库日期) = " & Month
        Case 2
            Filter ="Year(出库日期) = " & Year & " And Month(出库日期) = " & Month & " And 领料班组 = '" & Product & "'"
    End Select
End If

With DataTables("辅材出库管理")
    .LoadFilter = Filter
    .LoadPage = 0
    .LoadTop = 10
    .Load()
    e.Form.Controls("TextBox1").Value = 1 & "/" & .TotalPages
End With

 

下一页代码:

With DataTables("辅材出库管理")
    If .LoadPage < .TotalPages - 1
        .LoadPage = .LoadPage  + 1
        .Load()
        e.Form.Controls("TextBox1").Value = (.LoadPage + 1) & "/" & .TotalPages
    End If
End With


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


加好友 发短信
等级:一尾狐 帖子:459 积分:3137 威望:0 精华:0 注册:2014/2/13 9:22:00
  发帖心情 Post By:2014/6/9 15:57:00 [显示全部帖子]

用的是SQL数据库,而且是局域网的,传不上去啊!


 回到顶部