以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  动态设置遍历  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=40996)

--  作者:realredred
--  发布时间:2013/10/9 1:33:00
--  动态设置遍历

如何能夠做到动态设置遍历?

 


此主题相关图片如下:qq图片20131009010247.jpg
按此在新窗口浏览图片
如图

在 [系统库]表的  "客戶"列,可以隨时加入客戶代号

然后写好代码

做到动态遍历客戶代号

 

但我这样弄,好像不行

 

    \'----获取客户
    Dim dtn As String \'集合客户
    Dim dtr As String \'集合行数
    Dim dtb As Table = Tables("达成率")
    For Each dr2 As DataRow In DataTables("达成率").Select("[客户] <>\'SR\'" )
        If dtn Is Nothing Then
            dtn =  """ " & dr2("客户") & " """
            dtr = 1
        Else
            dtn = dtn + "," +  """ " & dr2("客户")  & " """
            dtr = dtr + 2
        End If
    Next
    \'MessageBox.show(dtn)
    \'MessageBox.show(dtr)


    Dim cost () As String = { dtn }

    For Each nm1 As String In cost
        If e.Row("模号").Contains(NM1) Then
            e.Row("客戶") = NM1
           
            Exit For
        Else
            e.Row("客戶") = Nothing
        End If
    Next

 

 

结果遍历沒反应


--  作者:程兴刚
--  发布时间:2013/10/9 1:48:00
--  
Dim dtn As String = DataTables("达成率").GetComboListString("客户","[客户] <>\'SR\'")
Dim Values() As String
Values = dtn.split("|")
For Index As Integer = 0 To Values.Length - 1
    If e.Row("模号").Contains(Values(Index)) Then
        e.Row("客戶") = Values(Index)
        Exit For
    Else
        e.Row("客戶") = Nothing
    End If
Next

--  作者:realredred
--  发布时间:2013/10/10 20:29:00
--  

程老師

可不可以把

Dim dtn As String = DataTables("达成率").GetComboListString("客户","[客户] <>\'SR\'")
Dim Values() As String
Values = dtn.split("|")
写在全局变量去呢?

 

或者写在全局代码里行不?

 

 

[此贴子已经被作者于2013-10-10 20:35:45编辑过]

--  作者:有点甜
--  发布时间:2013/10/10 20:41:00
--  
 肯定可以啊。定义全局代码

public values() as string

 然后在项目启动的时候执行

 Dim dtn As String = DataTables("达成率").GetComboListString("客户","[客户] <>\'SR\'")
 Values = dtn.split("|")
--  作者:程兴刚
--  发布时间:2013/10/10 20:47:00
--  
呵呵,半夜来两个点帮您搞定,以为您不要了呢!
--  作者:realredred
--  发布时间:2013/10/10 23:33:00
--  
因为有小甜甜和程老師,我等菜鸟才会成長的图片点击可在新窗口打开查看
--  作者:realredred
--  发布时间:2013/10/10 23:36:00
--  
以下是引用程兴刚在2013-10-10 20:47:00的发言:
呵呵,半夜来两个点帮您搞定,以为您不要了呢!

因为沒交网费  停了网两天

太感谢程老師的提示启发

也多谢小甜甜的用心教导图片点击可在新窗口打开查看

不过小甜甜,你所教的似乎不行

沒反应

相反程老師所示的 运行无事

[此贴子已经被作者于2013-10-10 23:47:01编辑过]

--  作者:realredred
--  发布时间:2013/10/11 21:38:00
--  

如果想做到  客户的字数指定为2位  要怎设呢?

GetComboListString("客户","[客户].text = 2 ")

不行


--  作者:有点甜
--  发布时间:2013/10/11 21:53:00
--  
 如下

GetComboListString("第一列", "len(第一列) = 2")

--  作者:程兴刚
--  发布时间:2013/10/12 0:09:00
--  
以下是引用realredred在2013-10-10 20:29:00的发言:

程老師

可不可以把

Dim dtn As String = DataTables("达成率").GetComboListString("客户","[客户] <>\'SR\'")
Dim Values() As String
Values = dtn.split("|")
写在全局变量去呢?

 

或者写在全局代码里行不?

 

 

[此贴子已经被作者于2013-10-10 20:35:45编辑过]
这个不应该写为全局变量,表数据是动态的,随时会变化,始终应该随要随提取,失去全局变量的意义。