Foxtable(狐表)用户栏目专家坐堂 → [求助]如何让textbox与table1连动?


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

主题:[求助]如何让textbox与table1连动?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 8:49:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 11:21:00 [显示全部帖子]

如果窗口表是动态生成的,那么就动态绑定:http://www.foxtable.com/webhelp/topics/1860.htm

或者到表格的currentchanged事件给控件赋值

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 13:56:00 [显示全部帖子]

如果是fill,或者DataSource绑定的表,到全局表事件currentchanged处理:http://www.foxtable.com/webhelp/topics/0671.htm

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 14:50:00 [显示全部帖子]

如果使用currentchanged直接赋值就行了,不需要绑定

Forms("通用(單選)目錄樹窗口_动态选表ok_独立SQL").Controls("TextBox3").text= e.Table.current("产品")

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 16:25:00 [显示全部帖子]

If e.Table.current Is Nothing Then Return
Select Case e.Table.Name
    Case "通用(單選)目錄樹窗口_动态选表ok_独立SQL_Table1"
        If Forms("通用(單選)目錄樹窗口_动态选表ok_独立SQL").Opened
            Forms("通用(單選)目錄樹窗口_动态选表ok_独立SQL").Controls("TextBox3").text= e.Table.current("产品")
        End If
End Select

--------------
If DataTables.Contains( e.Form.Controls("ComboBox表").Text ) Then
    Tables(e.Form.Name & "_Table1").DataSource = DataTables( e.Form.Controls("ComboBox表").Text )
    Tables(e.Form.Name & "_Table1").DataTable.GlobalHandler.CurrentChanged = True

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 16:30:00 [显示全部帖子]

窗口表没有设置sql,是无法直接绑定的。只能在设置DataSource之后,使用代码动态绑定

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 17:10:00 [显示全部帖子]

仍然是DataSource的问题,如果需要重新设置DataSource,就不能预先绑定。因为重新设置DataSource后窗口表已经是不同的table了,之前的绑定就会出错

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/2 22:24:00 [显示全部帖子]

如果在currentchanged事件处理,看11楼啊。

如果要动态绑定,参考
窗口afterload
……
If DataTables.Contains( e.Form.Controls("ComboBox表").Text ) Then
    Tables(e.Form.Name & "_Table1").DataSource = DataTables( e.Form.Controls("ComboBox表").Text )
    Dim txt As WinForm.TextBox = e.Form.Controls("TextBox3")
    txt.BindingField = e.Form.Name & "_Table1.产品"
    Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
    rgd.Table = Tables(e.Form.name & "_Table1")   '绑定表
    'rgd.Columns = "要显示的列"
    rgd.Build()
End If

 回到顶部