Foxtable(狐表)用户栏目专家坐堂 → 列表设置


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

主题:列表设置

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
列表设置  发帖心情 Post By:2011/12/14 9:59:00 [只看该作者]

'表属性-选择-AfterSelChange

If e.NewRange.ColSel = e.Table.cols("单位编号").Index Then 
    Dim dmp As New TableDataMap 
    dmp.DataTable = "单位定义" 
    dmp.ValueCol = "单位编号" 
    dmp.DisplayCol = "单位编号" 
    dmp.ListCols = "单位,单位编号,比率" 
      dmp.Filter = "货品编号 = '" & e.Table.current("货品编号") & "'"  '只包含当前货品编号的列表

    e.Table.cols("单位编号").DataMap = dmp.CreateDataMap()

End If

 

上面的代码,问题出在红色部分,当点击销售订单表的单位编号列某一单元格时,单位编号列其它单元格的值会被临时隐藏,请问如何设置?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/14 10:08:00 [只看该作者]

这种情况不能用数据字典,用列表项目。

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/12/14 10:09:00 [只看该作者]

请测试 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试50.table


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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/12/14 22:57:00 [只看该作者]

For Each dr As DataRow In DataTables("单位定义").Select("[货品编号] = '001'")
    Dim v1() As String ={"编号" & dr("单位编号") & dr("单位") & dr("比率")}
output.show(V1(0))
Next

 

上面这段代码可以提取多列而下面的代码不能通过,请帮忙修改,谢谢!

 

'提取多列作为列表
'表事件-编辑-PrepareEdit
If e.IsFocusCell Then '
    If e.Col.Name = "单位编号" Then
For Each dr As DataRow In DataTables("单位定义").Select("[货品编号] = '" & e.Row("货品编号") & "'")
    Dim v1() As String ={"编号" & dr("单位编号") & dr("单位") & dr("比率")}
e.Col.Combolist = V1(0)
Next
    End If
End If


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/14 23:32:00 [只看该作者]

没看懂,只知道这样的代码是没有意义的:

 

For Each dr As DataRow In DataTables("单位定义").Select("[货品编号] = '" & e.Row("货品编号") & "'")
    Dim v1() As String ={"编号" & dr("单位编号") & dr("单位") & dr("比率")}
    e.Col.Combolist = V1(0)
Next

 

最后此列的列表项目由最后一个符合条件的行决定,和其他行没有关系。


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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2011/12/15 9:14:00 [只看该作者]

测试通过

 

If e.IsFocusCell Then '
    If e.Col.Name = "单位编号" Then
Dim d As String
Dim drs As List(Of DataRow)
drs = DataTables("单位定义").Select("[货品编号] = '" & e.Row("货品编号") & "'")
For i As Integer = 0 To drs.Count -1
d = d & "编号" & drs(i)("单位编号") & "/" & drs(i)("单位") & "/" & "比率" & drs(i)("比率") & "|"
Next
e.Col.Combolist = d
    End If
End If

[此贴子已经被作者于2011-12-15 13:53:39编辑过]

 回到顶部