Foxtable(狐表)用户栏目专家坐堂 → 窗口中动态生成的表自动引用的数据同步更新


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

主题:窗口中动态生成的表自动引用的数据同步更新

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/24 16:18:00 [只看该作者]

棋赛名称管理 没有添加启用全局表事件的代码


        dt1.Table.DataTable.GlobalHandler.DataColChanged = True

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2023/3/24 16:43:00 [只看该作者]

在任务栏的TopicLinkClick事件最后加了你这段代码了,不起作用。

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/24 16:46:00 [只看该作者]

不是最后啊,每个表控件都是单独添加的,应该在每个表控件添加之后都添加这种代码

dt.Table.DataTable.GlobalHandler.DataColChanged = True

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2023/3/24 16:53:00 [只看该作者]

    Case "棋赛名称管理"
        Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
        Dim dt As WinForm.Table
        Dim mc As String = "棋赛名称管理"
        If tab.TabPages.Contains(mc) = False Then
            tab.TabPages.Add(mc, mc)
            dt = Forms("主窗口").CreateSQLTable("Table'" & mc & "'", "Select * Fr om {棋赛名称管理}", "")
            tab.Tabpages(mc).AddControl(dt)
            tab.SelectedIndex = tab.TabPages.count + 1
        Else
            dt = Forms("主窗口").Controls("Table'" & mc & "'")
        End If
        dt.SetBounds(0, 0, 1140, 520)
        dt.Table.SetColVisibleWidth("棋赛名称|180|棋赛副名|180|团体或个人分组|60|分组|60|积分编排法|90")
        dt.Table.SetHeaderRowHeight(40)
        Dim pg As WinForm.TabPage = Forms("主窗口").Controls("TabControl1").Tabpages(mc)
        tab.SelectedPage = pg
        dt.Table.DataTable.GlobalHandler.DataColChanged = True
也没反应

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/24 17:03:00 [只看该作者]

调试
msgbox(Forms("主窗口").opened)
msgbox(e.DataTable.Name)
If Forms("主窗口").opened And Forms("主窗口").ExistControl("Table棋赛名称管理") Then
    If e.DataTable.Name = "Table棋赛名称管理" Then
        e.DataRow.Save
        Select Case e.DataCol.Name
            Case "棋赛名称", "棋赛副名"
                Dim Filter As String


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2023/3/24 21:40:00 [只看该作者]

MessageBox.Show(Forms("主窗口").opened) 我在主窗口测试的,肯定打开了
MessageBox.Show(e.DataTable.Name) 无弹窗
MessageBox.Show(CurrentTable.Name) 改为这样也无弹窗


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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/25 9:43:00 [只看该作者]

如果第一个MessageBox.Show可以弹出,第二个绝对也可以弹出。除非没有按照我的代码用,而是自己乱写

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2023/3/25 10:31:00 [只看该作者]

MessageBox.Show(Forms("主窗口").opened)
MessageBox.Show(e.DataTable.Name)
If Forms("主窗口").opened And Forms("主窗口").ExistControl("主窗口_Table'棋赛名称管理'") Then
    If e.DataTable.Name = "主窗口_Table'棋赛名称管理'" Then
        e.DataRow.Save
        Select Case e.DataCol.Name
            Case "棋赛名称", "棋赛副名"
                Dim Filter As String
                If e.DataCol.Name = "棋赛名称" Then
                    Filter = "[棋赛名称] = '" & e.OldValue & "' And [棋赛副名] = '" & e.DataRow("棋赛副名") & "'"
                Else
                    Filter = "[棋赛名称] = '" & e.DataRow("棋赛名称") & "' And [棋赛副名] = '" & e.OldValue & "'"
                End If
                Dim drs As List(Of DataRow) = DataTables("基本信息").SQLSelect(Filter)
                If drs IsNot Nothing Then
                    For Each dr As DataRow In drs
                        dr(e.DataCol.Name) = e.NewValue
                        dr.Save()
                    Next
                End If
                With DataTables("基本信息")
                    .LoadPage = 0 '加载第一页
                    .LoadTop = 20 '每页5行
                    .loadover = "_Identify"
                    .LoadReverse = True
                    .Load()
                End With
                With DataTables("主窗口_Table2")
                    .LoadPage = 0 '加载第一页
                    .LoadTop = 20 '每页5行
                    .loadover = "_Identify"
                    .LoadReverse = True
                    .Load()
                    Forms("主窗口").Controls("TextBox3").Value = 1 & "/" & .TotalPages
                End With
                Dim das As List(Of DataRow) = DataTables("比赛积分").SQLSelect(Filter)
                If das IsNot Nothing Then
                    For Each da As DataRow In das
                        da(e.DataCol.Name) = e.NewValue
                        da.Save()
                    Next
                End If
                With DataTables("比赛积分")
                    .LoadPage = 0 '加载第一页
                    .LoadTop = 20 '每页5行
                    .loadover = "_Identify"
                    .LoadReverse = True
                    .Load()
                End With
                With DataTables("主窗口_Table1")
                    .LoadPage = 0 '加载第一页
                    .LoadTop = 20 '每页5行
                    .loadover = "_Identify"
                    .LoadReverse = True
                    .Load()
                    Forms("主窗口").Controls("TextBox1").Value = 1 & "/" & .TotalPages
                End With
        End Select
    End If
End If
弹窗了,改为弹窗的窗口名称依然没有发生改变。

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


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/3/25 13:51:00 [只看该作者]

SQLSelect要这样保存:http://www.foxtable.com/webhelp/topics/2901.htm,这个问题说过好多次了哦

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2023/3/25 14:13:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:象棋排赛2023324.rar

依然无法改变。

 回到顶部
总数 34 上一页 1 2 3 4 下一页