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


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

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

帅哥哟,离线,有人找我吗?
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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinruan
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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


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

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

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


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

好,我试试

 回到顶部
帅哥哟,离线,有人找我吗?
jinruan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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


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

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



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


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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/7 9:01:00 [显示全部帖子]

DataTables().Save
此方法同台电脑上操作时,下拉列表也没看到最新记录
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下获取新最数据2.rar


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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/7 9:08:00 [显示全部帖子]

我再试下

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


加好友 发短信
等级:幼狐 帖子:198 积分:1448 威望:0 精华:0 注册:2011/8/23 17:38:00
  发帖心情 Post By:2012/11/7 15:22:00 [显示全部帖子]

谢谢,可以了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下获取新最数据3.rar


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