以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何在列表项目中读取多列数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25061)

--  作者:zp36830655
--  发布时间:2012/10/30 15:01:00
--  [求助]如何在列表项目中读取多列数据

菜鸟一枚,有个问题看了半天帮助也没找到解决办法。

 

大致情况是:

 

订单表中有[客户编号]列,与会员表中[客户编号]列关联。

 

会员表中1个客户对应两个地址:[地址1][地址2]

 

现在想实现在订单表中填入会员编号后,订单表中[送货地址]列的列表项目中显示会员表中对应的地址1和地址2

 

不知道说清楚没~~~


--  作者:lin_hailun
--  发布时间:2012/10/30 15:10:00
--  
 这个功能很好实现,需要编写一小段代码。

 楼主看看帮助的这一章

 http://www.foxtable.com/help/topics/1528.htm
--  作者:lin_hailun
--  发布时间:2012/10/30 15:20:00
--  
小例子,参考下。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table



--  作者:zp36830655
--  发布时间:2012/10/30 15:41:00
--  
地址1和地址2要分为两条备选项,而不是合并为一条
--  作者:zp36830655
--  发布时间:2012/10/30 15:47:00
--  

多谢,就是这个意思。

 

不过有点儿不一样的是,我这里想把会员的两个地址分别填到两列里,而不是填到一个多值单元格里。

 

请问这样的话代码该怎么写呢?


--  作者:lin_hailun
--  发布时间:2012/10/30 15:51:00
--  
Select Case e.Col.Name
    Case "送货地址"
        Dim dr As DataRow = e.Row.DataRow.GetParentRow("表A")
        If dr Is Nothing Then
            e.Col.ComboList = ""
        Else
            e.Col.ComboList = dr("地址1") & "|" & dr("地址2")
        End If
End Select
[此贴子已经被作者于2012-10-30 15:53:18编辑过]

--  作者:zp36830655
--  发布时间:2012/10/30 15:58:00
--  

啊,多谢啦,可以了。万分感谢!!

 

 

还有,如果是这么写的话,有什么问题没?

 

If e.IsFocusCell Then 

    If e.Col.Name = "取鞋地址" Then
        Dim adr(1) As String
        adr(0) = DataTables("会员列表").GetComboListString("地址1" , "[会员编号] = " & e.Row("会员编号") & " ")
        adr(1) = DataTables("会员列表").GetComboListString("地址2" , "[会员编号] = " & e.Row("会员编号") & " ")
        e.Col.Combolist = adr (0) & "|" & adr (1)
    End If
End If


--  作者:lin_hailun
--  发布时间:2012/10/30 16:02:00
--  
 如果没有设置关联的话,就要像楼上那样写。

 如果设置了关联,就直接像我那样写也可以。

 没有什么区别。