以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自定义加载数的条件代码问题!!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50533)

--  作者:身份不明
--  发布时间:2014/5/8 13:48: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 = 500 \'每页500行
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With

 

加载数的代码不知道该如何写了。。主要是外协厂名称这个条件不知道该如何添加了!!

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 = 500
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With


--  作者:Bin
--  发布时间:2014/5/8 14:09:00
--  
条件没错啊,出现什么问题?
--  作者:身份不明
--  发布时间:2014/5/8 14:12:00
--  

在外协完成下面少了个外协厂名称的

 


--  作者:有点甜
--  发布时间:2014/5/8 14:12:00
--  
以下是引用身份不明在2014-5-8 13:48:00的发言:

窗口的AfterLoad事件代码如下:

 

加载数的代码不知道该如何写了。。主要是外协厂名称这个条件不知道该如何添加了!!

 

什么意思?直接加不行?问题具体说明。


--  作者:身份不明
--  发布时间:2014/5/8 14:26:00
--  
就是在加载数的代码里加个外协厂名称的条件!
--  作者:Bin
--  发布时间:2014/5/8 14:28:00
--  
 .LoadFilter = Filter & " AND 外协厂名称=\'某某厂\'"
--  作者:身份不明
--  发布时间:2014/5/8 14:32:00
--  

这个条件下如何在加上外协厂名称的条件  

 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


--  作者:Bin
--  发布时间:2014/5/8 14:34:00
--  
看6楼.在最后加上即可.
--  作者:身份不明
--  发布时间:2014/5/8 14:53:00
--  
以下是引用Bin在2014-5-8 14:34:00的发言:
看6楼.在最后加上即可.

Bin老师,给个全的代码可以吗,加在哪个的后面,不对啊!在就是打开是否完成下面还有好多外协厂要选择呢,不是一个外协厂!


--  作者:Bin
--  发布时间:2014/5/8 15:02:00
--  
你至少也和你原来的代码对比一下吧.全场就一句LoADFilter,怎么可能会不知道在哪里?


好多个要选择? 不就和你前面的选择节点一个样吗,多一个变量而已.

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("外协完成")

     dim  c as string = e.form.controls("ComboBox1").text

    
    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 & 
" AND 外协厂名称=\'" & c & "\'"
    .LoadPage = 0
    .LoadTop = 500
    .Load()
    e.Form.Controls("TextBox2").Value = 1 & "/" & .TotalPages
End With