Foxtable(狐表)用户栏目专家坐堂 → 网络环境下,记录窗口下拉列表中如何获取新最数据


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

主题:网络环境下,记录窗口下拉列表中如何获取新最数据

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
网络环境下,记录窗口下拉列表中如何获取新最数据  发帖心情 Post By:2012/11/6 14:59:00 [只看该作者]

请教:如题:网络环境下,记录窗口下拉列表中如何获取新最数据?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下获取新最数据.table


补充:使用SQL外部数据源
[此贴子已经被作者于2012-11-6 15:03:11编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/6 15:04:00 [只看该作者]

 动态设置 数据字典,如下

http://www.foxtable.com/help/topics/2653.htm

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 15:16:00 [只看该作者]

如果A用户正在录入订单窗口选择【付款期】时,发现少了所需付款期,

让B用户在另一台电脑上增加了新的付款期信息,

这时A用户不退出订单录入窗口,再次点【付款期】下拉列表时,如下方法不能看到新记录


动态设置 数据字典,如下

http://www.foxtable.com/help/topics/2653.htm

例如我们在项目事件MainTableChanged事件中设置代码:

If MainTable.Name = "订单" Then
    Dim 
dmp As New TableDataMap
    
dmp.DataTable = "客户" '指定数据来源表
    
dmp.ValueCol = "ID" '指定取值列
    
dmp.DisplayCol = "公司" '指定显示列
    
'指定下拉列表时显示哪些列的数据
    
dmp.ListCols = "ID,公司,姓氏,名字,职务,业务电话,传真号,地址,城市,邮政编码"
    
dmp.Sort = "城市" '指定排序方式
    Tables(
"订单").Cols("客户 ID").DataMap = dmp.CreateDataMap() '生成并设置DataMap
End If

这样在客户表修改数据后,重新切换到订单表,就会自动重新生成数据字典,保证数据字典的内容是最新的。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/6 15:21:00 [只看该作者]

 那么,就在DataTable上想办法。编辑这一列的时候,去查一遍吧。

 Dim cmd As New SqlCommand
 cmd.Conn...name = "数据源"
 cmd.CommandText = "select * from {订单}"
 dmp.DataTable = cmd.ExecuteReader
 ......
[此贴子已经被作者于2012-11-6 15:22:56编辑过]

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 15:22:00 [只看该作者]

或者在  订单的表事件PrepareEdit中加入事件,获取最新付款期记录

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 15:23:00 [只看该作者]

好,我试试

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 17:09:00 [只看该作者]



在【销售订单】的startEdit事件中加了如下内容后,【付款期ID】下拉按钮不正常了,不知写不对,还是没放对事件位置:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下获取新最数据.rar


If e.Col.Name = "付款期ID"  Then
    '那么,就在DataTable上想办法.编辑这一列的时候,去查一遍吧.
    
    
    Dim cmd As New SqlCommand
    Dim dt As DataTable
    cmd.ConnectionName  = "test1"
    cmd.CommandText = "select * from {付款期}"
    dt = cmd.ExecuteReader()
    
    Dim dmp As New TableDataMap
    dmp.DataTable = "dt"
    dmp.ValueCol = "付款期ID" '指定取值列
    dmp.DisplayCol = "付款期" '指定显示列
    '指定下拉列表时显示哪些列的数据
    dmp.ListCols = "付款期ID,付款期,付款天数"
    dmp.Sort = "付款期ID" '指定排序方式
    Tables("订单").Cols("付款期ID").DataMap = dmp.CreateDataMap() '生成并设置DataMap
    
End If

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/6 17:36:00 [只看该作者]

 呵呵,这个办法行不通!

 因为这个临时的dt会在这个事件结束后消失。

 用老办法吧,把那个表重新加载一次。

 DataTables("付款期").LoadFilter = ""
 DataTables("付款期").Load

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 17:49:00 [只看该作者]

DataTables("付款期").LoadFilter = ""
 DataTables("付款期").Load
方法可以,谢谢!



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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/6 20:09:00 [只看该作者]

DataTables("付款期").LoadFilter = ""
DataTables("付款期").Load
此方法放在发下事件中,都取不到最新的记录,应该应在哪件事件中呢:
PrepareEdit
StartEdit
click


 回到顶部
总数 21 1 2 3 下一页