Foxtable(狐表)用户栏目专家坐堂 → 导航问题


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

主题:导航问题

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
导航问题  发帖心情 Post By:2018/4/19 17:41:00 [显示全部帖子]

老师,下面红色代码为什么不执行呢?绿色的代码显示错误,是不是必须要写成兰色哪样呢。目的是想选择了“任教学科”就把任教学科这一列的“语文”筛选出来。

 

 

Select Case e.Page.Name
    Case  "职工信息"
        Select Case e.Link.Name
            Case "任教学科"
             With  Tables("职工信息总表").Filter = "[任教学科] = '语文'"
              
 ' With CurrentTable
                '    Dim r As Integer
                 '   r = .Find("语文", 0, 0, False, False, True)
                  '  If r > - 1 Then '如果找到符合条件的行
                   '     .Position = r '则选择该行
                    'End If
                End With
                            
                ' With Forms("信息")
                '   .Open()
                ' .Controls("导航").Value = .Controls("党建工作").Text
         'End With
            ' Functions.Execute("Subtotal")
           ' MainTable = Tables("职工信息总表")

       Case "框架模式"
            With Forms("信息")
                .Open()
                .Controls("TextBox1").Value = .Controls("框架模式").Text


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 19:58:00 [显示全部帖子]

我改成了下面这样(红色部分),依然实现不了我的目的啊?是不是必须要做一个窗口,在窗口中绑定相应的表呢?

 

baseMainform.SuspendLayout
Dim tbp As WinForm.TopicBar = e.Form.Controls("导航")
For Each pg As WinForm.TopicPage In tbp.Pages
    For Each lnk As WinForm.TopicLink In pg.Links
        lnk.Text = lnk.Text.Trim("←")
    Next
Next
e.Link.Text = e.Link.Text & "←"
MarkCell = False
For Each frm As Winform.Form In Forms
    If frm.Opened AndAlso frm.FormStyle = FormStyleEnum.独立 Then
        frm.Close()
    End If
Next
Tables("职工信息总表").CloseRecordGrid()
msgbox(e.page.name)
msgbox(e.page.text)
Select Case e.Page.Text
    Case  "职工信息"
        msgbox(e.link.Name)
        msgbox(e.link.Text)
        Select Case e.Link.Text
            Case "任教学科"
                With  Tables("职工信息总表").Filter = "[任教学科] = '语文'"
                End With
            Case "合并模式"
                With Tables("合并模式")
                    .MergeMode = MergeModeEnum.Standard
                    .MergeCols.Clear()
                    .MergeCols.Add("国家")
                    .MergeCols.Add("金属")
                    .MergeSort = "国家,金属"
                    .AllowMerge = True
                End With
                Forms("合并模式").Open()
                MainTable = Tables("合并模式")
            Case "多层表头"


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 20:26:00 [显示全部帖子]

弹出两次职工信息,后又弹出两次任教学科,后一次任教学科带箭头。

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 20:40:00 [显示全部帖子]

老师,我改成了Select Case e.Link.Name,可是没有反应,也就是说

With  Tables("职工信息总表").Filter = "[任教学科] = '语文'"
               ' With CurrentTable
                '    Dim r As Integer
                 '   r = .Find("语文", 0, 0, False, False, True)
                  '  If r > - 1 Then '如果找到符合条件的行
                   '     .Position = r '则选择该行
                    'End If
                End With

这一段代码不执行。并没有把“任教学科”这一列是“语文”的所有记录行筛选出来。


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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 21:14:00 [显示全部帖子]

老师,弹出“任教学科”。

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 21:21:00 [显示全部帖子]

加在了下面这个位置,应该是运行到了这个循环体内了,为什么不执行With  Tables("职工信息总表").Filter = "[性别] = '女' and [政治面貌] = '群众'"     这一语句呢, 这一语句我在命令窗口执行是可以的。

Tables("职工信息总表").CloseRecordGrid()
'msgbox(e.page.name)
'msgbox(e.page.text)
Select Case e.Page.Text
    Case  "职工信息"
        '        msgbox(e.link.Name)
        '       msgbox(e.link.Text)
        Select Case e.Link.Name
            Case "任教学科"
                With  Tables("职工信息总表").Filter = "[性别] = '女' and [政治面貌] = '群众'"
                    msgbox(e.Link.Name)               (运行显示:任教学科,说明程序行动到这了。)
                End With
            Case "合并模式"
[此贴子已经被作者于2018/4/19 21:22:03编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1495 积分:12175 威望:0 精华:0 注册:2013/3/19 16:41:00
  发帖心情 Post By:2018/4/19 21:43:00 [显示全部帖子]

老师您好,麻烦您了。不好意思,“职工信息总表”就是项目中的表,没有窗口表。不知为什么就是不行呢。这是“导航窗口”中的TopicLinkClick事件代码。

 

For Each frm As Winform.Form In Forms
    If frm.Opened AndAlso frm.FormStyle = FormStyleEnum.独立 Then
        frm.Close()
    End If
Next
Select Case e.Page.Text
    Case  "职工信息"
        Select Case e.Link.Name
            Case "任教学科"
               With  Tables("职工信息总表").Filter = "[性别] = '女' and [政治面貌] = '群众'"
              
msgbox(e.Link.Name)         此处运行结果:任教学科
                End With
               
        End Select
End Select


MainTable.Focus()
baseMainform.ResumeLayout


 回到顶部