以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]数据字典录入时发生的奇怪现象 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2893) |
||||
-- 作者:kylin -- 发布时间:2009/5/23 16:02:00 -- [求助]数据字典录入时发生的奇怪现象 员工编号为数据字典,录入之后,编号居然消失了,已经设定一旦员工编号为空,则姓名也将为空, 事实上员工编号就是没有为空,只是显示的问题 见以下动画: 此主题相关图片如下:gz.gif 在PreEdite事件设置数据字典 If e.Col.Name = "ygbh" and e.Row.IsNull("scz") = False then If e.IsFocusCell Then \'如果是焦点单元格 Dim dmp1 as New TableDataMap dmp1.DataTable = "yggz" \'指定数据来源表 dmp1.ValueCol = "ygbh" \'指定取值列 dmp1.DisplayCol = "ygbh" \'指定显示列 \'指定下拉列表时显示那些列的数据 dmp1.ListCols = "ygbh,xm" dmp1.Filter = "[scz] = \'" & e.Row("scz") & "\'" \'则只显示该生产组的员工 dmp1.Sort = "xm" e.Col.DataMap = dmp1.CreateDataMap() \'生成并设置DataMap end if End If 在DataColChanged事件中设置姓名取值,没有其他的代码 if e.DataCol.Name="ygbh" then if e.DataRow.IsNull("ygbh") then e.DataRow("xm") = nothing else Dim dr As Datarow= DataTables("yggz").Find("ygbh = \'" & e.DataRow("ygbh") & "\'") If dr IsNot Nothing then \'一定要判断是否存在对应的行 e.DataRow("xm") = dr("xm") else e.DataRow("xm") = nothing End If end if end if |
||||
-- 作者:mr725 -- 发布时间:2009/5/23 22:24:00 -- 如果没有在drawcell设置代码,确实是个怪现象, 是不是等于单元格的字体颜色等同于表背景颜色了?原来想要这个的,狐爸说用drawcell。 [此贴子已经被作者于2009-5-23 22:40:03编辑过]
|
||||
-- 作者:kylin -- 发布时间:2009/5/24 11:47:00 -- 没有在drawcell设置代码的 |
||||
-- 作者:kylin -- 发布时间:2009/5/25 9:07:00 -- 老六,帮忙看看是何原因? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/25 9:13:00 -- 员工编号列显示是是根据数组字典来的。 如果数据字典设置了条件,而且员工编号列的内容不符者这个条件,就显示不了。 |
||||
-- 作者:kylin -- 发布时间:2009/5/25 9:17:00 -- 以下是引用狐狸爸爸在2009-5-25 9:13:00的发言:
员工编号列显示是是根据数组字典来的。 如果数据字典设置了条件,而且员工编号列的内容不符者这个条件,就显示不了。 因为禁用了手工录入,所以肯定不存在你所说的情况 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/25 9:20:00 -- 银行支piao打印系统(免费版) 没有看到文件,我估计就是这个原因。 |
||||
-- 作者:kylin -- 发布时间:2009/5/25 11:11:00 -- 改动了自带的示例,模拟1楼的情况,结果还是有如同1楼的gif
[此贴子已经被作者于2009-5-25 11:12:10编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/25 12:49:00 -- 问题出在这里: dmp1.Filter = "[班级] = \'" & e.Row("班级") & "\'" 筛选出哪个班级的,就只有那个班级正常,原因就像我前面说的。 |
||||
-- 作者:kylin -- 发布时间:2009/5/25 15:24:00 -- 以下是引用狐狸爸爸在2009-5-25 12:49:00的发言:
问题出在这里: dmp1.Filter = "[班级] = \'" & e.Row("班级") & "\'" 筛选出哪个班级的,就只有那个班级正常,原因就像我前面说的。 那么,内容不符者这个条件,就显示不了,这岂不是数据字典的“短肋”了,有否改进的可能?就是让非符合条件的也能正常显示呢? |