以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]动态数据字典问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=111562) |
-- 作者:whyxd -- 发布时间:2017/12/25 9:59:00 -- [求助]动态数据字典问题 "表A"PrepareEdit表事件中代码: If e.IsFocusCell Then \'如果是焦点所在单元格 If e.Col.Name = "第一列" Then If e.Row.IsNull("第二列") = False Then Dim dmp As New TableDataMap dmp.DataTable = "表B" \'指定数据来源表 dmp.ValueCol = "第三列" \'指定取值列 dmp.DisplayCol = "第四列" \'指定显示列 \'指定下拉列表时显示哪些列的数据 dmp.ListCols = "第四列" dmp.Sort = "第四列" \'指定排序方式 e.col.DataMap = dmp.CreateDataMap() \'生成并设置DataMap Else e.Cancel = True End If End If End If "表A"StartEdit 事件代码: If e.IsFocusCell Then \'如果是焦点所在单元格 If e.Col.Name = "第一列" Then If e.Row.IsNull("第二列") = False Then Dim dmp As New TableDataMap dmp.DataTable = "表B" \'指定数据来源表 dmp.ValueCol = "第三列" \'指定取值列 dmp.DisplayCol = "第四列" \'指定显示列 \'指定下拉列表时显示哪些列的数据 dmp.ListCols = "第四列" dmp.Filter = "第五列= \'"& e.row("第二列") &"\'" dmp.Sort = "第四列" \'指定排序方式 e.Col.DataMap = dmp.CreateDataMap() \'生成并设置DataMap Else e.Cancel = True End If End If End If 这样实现了我想在选中"表A""第一列"的时候根据"表A"本行"第二列"的内容显示不同的下拉列表,显示"表B""第四列"内容,取"表B""第三列"值。 但是有一点体验不太好,就是每次点开"表A""第一列","表A"其他行的"第二列"的内容如果和本行第二列内容不相同,根据设置的数据字典,这些行的"第一列"会显示空白,重新选中才会显示,请教如何改进。
|
-- 作者:有点甜 -- 发布时间:2017/12/25 10:12:00 -- 你这种是没办法的。数据字典重新生成后,不在数据字典里面的内容,就显示空白,这个是正常的。
建议你用界面三处理 http://www.foxtable.com/webhelp/scr/2465.htm
|
-- 作者:whyxd -- 发布时间:2017/12/25 10:25:00 -- 回复:(有点甜) 你这种是没办法的。数据字典重... 好吧,谢谢了。 我还是用数据字典吧,因为要实现,取值是ID,显示是内容。为了增加可读性。。 还有一个问题是,怎么判断数据字典内容是否为空?因为第二列的内容决定第一列的数据字典,想要实现第二列更改时,如果数据字典内容为空,第一列值为-1.
|
-- 作者:有点甜 -- 发布时间:2017/12/25 11:02:00 -- 以下是引用whyxd在2017/12/25 10:25:00的发言:
好吧,谢谢了。 我还是用数据字典吧,因为要实现,取值是ID,显示是内容。为了增加可读性。。
还有一个问题是,怎么判断数据字典内容是否为空?因为第二列的内容决定第一列的数据字典,想要实现第二列更改时,如果数据字典内容为空,第一列值为-1.
你可以设置数据字典和下拉窗口一起的。选择的时候,用下拉窗口,选择结束以后,设置数据字典。
新问题,表数据是根据数据字典的值显示内容的,你无法修改显示的值,你只能修改表数据。 |
-- 作者:whyxd -- 发布时间:2017/12/25 11:18:00 -- 回复:(有点甜)以下是引用whyxd在2017/12/25 10:25:... 如何判断下拉选择结束?? |
-- 作者:有点甜 -- 发布时间:2017/12/25 12:15:00 -- 以下是引用whyxd在2017/12/25 11:18:00的发言:
如何判断下拉选择结束??
如果是界面三,窗口关闭的时候,不就是下拉结束?
如果是数据字典,afterEdit事件不就是下拉结束? |
-- 作者:whyxd -- 发布时间:2017/12/25 15:04:00 -- 回复:(有点甜)以下是引用whyxd在2017/12/25 11:18:... 知道了,谢谢 |