Foxtable(狐表)用户栏目专家坐堂 → [求助]数据字典录入时发生的奇怪现象


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

主题:[求助]数据字典录入时发生的奇怪现象

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
[求助]数据字典录入时发生的奇怪现象  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/23 22:24:00 [只看该作者]

如果没有在drawcell设置代码,确实是个怪现象, 是不是等于单元格的字体颜色等同于表背景颜色了?原来想要这个的,狐爸说用drawcell。
不过,一不小心,又发现这一个新功能了~  恭喜啊~  图片点击可在新窗口打开查看
这么复杂的,我还没有运用到~

[此贴子已经被作者于2009-5-23 22:40:03编辑过]

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/5/24 11:47:00 [只看该作者]

没有在drawcell设置代码的

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/5/25 9:07:00 [只看该作者]

老六,帮忙看看是何原因?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/25 9:13:00 [只看该作者]

员工编号列显示是是根据数组字典来的。
如果数据字典设置了条件,而且员工编号列的内容不符者这个条件,就显示不了。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/5/25 9:17:00 [只看该作者]

以下是引用狐狸爸爸在2009-5-25 9:13:00的发言:
员工编号列显示是是根据数组字典来的。
如果数据字典设置了条件,而且员工编号列的内容不符者这个条件,就显示不了。

因为禁用了手工录入,所以肯定不存在你所说的情况

其实1楼的gif表明了:保存后重新打开,显示正常,就是在录入过程中“显示”有问题的,“数据”是存在的


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
银行支piao打印系统(免费版)  发帖心情 Post By:2009/5/25 9:20:00 [只看该作者]

没有看到文件,我估计就是这个原因。
或者检查一下列类型。


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/5/25 11:11:00 [只看该作者]

改动了自带的示例,模拟1楼的情况,结果还是有如同1楼的gif
请老六进入看看,到底哪里出了问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成绩排名.rar

[此贴子已经被作者于2009-5-25 11:12:10编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/25 12:49:00 [只看该作者]

问题出在这里:
dmp1.Filter = "[班级] = '" & e.Row("班级") & "'"

筛选出哪个班级的,就只有那个班级正常,原因就像我前面说的。

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/5/25 15:24:00 [只看该作者]

以下是引用狐狸爸爸在2009-5-25 12:49:00的发言:
问题出在这里:
dmp1.Filter = "[班级] = '" & e.Row("班级") & "'"

筛选出哪个班级的,就只有那个班级正常,原因就像我前面说的。

那么,内容不符者这个条件,就显示不了,这岂不是数据字典的“短肋”了,有否改进的可能?就是让非符合条件的也能正常显示呢?


 回到顶部
总数 12 1 2 下一页