以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 网络环境下,记录窗口下拉列表中如何获取新最数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25313) |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 14:59:00 -- 网络环境下,记录窗口下拉列表中如何获取新最数据 请教:如题:网络环境下,记录窗口下拉列表中如何获取新最数据?
补充:使用SQL外部数据源
[此贴子已经被作者于2012-11-6 15:03:11编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2012/11/6 15:04:00 -- 动态设置 数据字典,如下 http://www.foxtable.com/help/topics/2653.htm |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 15:16:00 -- 如果A用户正在录入订单窗口选择【付款期】时,发现少了所需付款期, 让B用户在另一台电脑上增加了新的付款期信息, 这时A用户不退出订单录入窗口,再次点【付款期】下拉列表时,如下方法不能看到新记录 例如我们在项目事件MainTableChanged事件中设置代码: If MainTable.Name = "订单" Then 这样在客户表修改数据后,重新切换到订单表,就会自动重新生成数据字典,保证数据字典的内容是最新的。 |
||||
-- 作者:lin_hailun -- 发布时间: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 -- 发布时间:2012/11/6 15:22:00 -- 或者在 订单的表事件PrepareEdit中加入事件,获取最新付款期记录 |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 15:23:00 -- 好,我试试 |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 17:09:00 -- 在【销售订单】的startEdit事件中加了如下内容后,【付款期ID】下拉按钮不正常了,不知写不对,还是没放对事件位置:
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 -- 发布时间:2012/11/6 17:36:00 -- 呵呵,这个办法行不通! 因为这个临时的dt会在这个事件结束后消失。 用老办法吧,把那个表重新加载一次。 DataTables("付款期").LoadFilter = "" DataTables("付款期").Load |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 17:49:00 -- DataTables("付款期").LoadFilter = "" DataTables("付款期").Load 方法可以,谢谢! |
||||
-- 作者:jinruan -- 发布时间:2012/11/6 20:09:00 -- DataTables("付款期").LoadFilter = "" DataTables("付款期").Load 此方法放在发下事件中,都取不到最新的记录,应该应在哪件事件中呢: PrepareEdit StartEdit click |