Foxtable(狐表)用户栏目专家坐堂 → 如何实现多个表和窗口,共用一个下拉窗口?


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

主题:如何实现多个表和窗口,共用一个下拉窗口?

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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
如何实现多个表和窗口,共用一个下拉窗口?  发帖心情 Post By:2013/5/21 15:25:00 [只看该作者]

DropTable

如果从表中的某列打开下拉窗口,可以通过DropTable返回对应的表(Table类型),通过DropCol返回对应的列(Col类型)。
有了这两个属性,不同的表或不同的列,共用一个下拉窗口,会更加方便;对下拉窗口进行条件设置也会更加容易。


在帮助中没有详细说明,在项目中没有找到这个属性。

现在想设置多个表共用一个下拉窗口,但设置不成功。


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/21 15:29:00 [只看该作者]

 

下拉的窗口的任何一个事件:

 

Dim t As Table = e.Form.DropTable

if t.name = "表A" then 

    if e.dropcol.name = "a" then

    Elseif e.dropcol.name = "a" then

    end if

elseif e.name ="表B" then

end if


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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/5/21 16:40:00 [只看该作者]

根据帮助中: 自行设计下拉目录树,设置下拉目录树,

TreeView(目录树)的NodeMouseClick事件代码设置为:

If e.Node.Level = 1 Then '如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\")
    Dim tr As Row = Tables("客户").Current
    Dim dr As DataRow = DataTables("行政区域").Find("省市 = '" & ps(0) & "' And 县市 = '" & ps(1) & "'")
    If dr IsNot Nothing Then '如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        
tr("省市") = dr("省市")
        tr("县市") = dr("县市")
        tr("区号") = dr("区号")
        tr("邮编") = dr("邮编")
        e.Form.DropDownBox.Value = tr("县市"'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    
End If
    e.Form.DropDownBox.CloseDropdown()  '关闭下拉目录树
End
 If

需要修改吗?或还需要修改其他步骤?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/21 16:48:00 [只看该作者]

If e.Node.Level = 1 Then '如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\")
    Dim tr As Row = e.Form.DropTable.Current
    Dim dr As DataRow = DataTables("行政区域").Find("省市 = '" & ps(0) & "' And 县市 = '" & ps(1) & "'")
    If dr IsNot Nothing Then '如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        tr("省市") = dr("省市")
        tr("县市") = dr("县市")
        tr("区号") = dr("区号")
        tr("邮编") = dr("邮编")
        e.Form.DropDownBox.Value = tr("县市") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    End If
    e.Form.DropDownBox.CloseDropdown()  '关闭下拉目录树
End If

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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/5/21 17:02:00 [只看该作者]

多谢狐爸,试看。

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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/5/21 17:23:00 [只看该作者]

放在下拉窗口或使用下拉窗口的窗口中都提示: dropcol  不是 FormEventArgs 的成员,错误:  if e.dropcol.name = "a" then;
另:下拉的窗口是使用下拉窗口的窗口吗?现在有:出库、退货、回款、客户、门面、订货共六个窗口需共用下拉窗口,代码要如何设置?
谢谢!

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/21 18:02:00 [只看该作者]

e.form.dropcol

 

不是

e.dropcol


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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/5/22 11:26:00 [只看该作者]

狐爸,修改后出现提示错误。现将项目传上,麻烦帮修正一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:小狐 帖子:321 积分:2210 威望:0 精华:0 注册:2008/8/31 22:37:00
  发帖心情 Post By:2013/5/22 13:47:00 [只看该作者]

自顶

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/22 16:34:00 [只看该作者]

你说的错误是什么?

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