Foxtable(狐表)用户栏目专家坐堂 → 窗体中的目录树AfterSelectNode事件出错?


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

主题:窗体中的目录树AfterSelectNode事件出错?

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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 21:28:00 [显示全部帖子]

第11楼中的问题:窗口中有三个table控件表,我想点选某表,这个表的标题就给个样式与其它表区别出来,如何办?在哪个事件里写代码,如何办?
第12楼的答复的事件是在项目的事件中,窗体和表都没有这个事件,于是我在项目属性的CurrentTableChanged中写下如下代码,测试全部是红色样式,如何改?或在其它什么事件中再将这个表的样式去掉。
 
If Forms("笔记与档案").Opened Then
    Select Case CurrentTable.DataTable.Name
        Case "笔记与档案_Table短信"
            Tables("笔记与档案_Table短信").Theme = "Office2013Red"
        Case  "笔记与档案_Table下校"
            Tables("笔记与档案_Table下校").Theme = "Office2013Red"
        Case "笔记与档案_笔记与档案"
            Tables("笔记与档案_Table笔记与档案").Theme = "Office2013Red"
    End Select
End If


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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 21:53:00 [显示全部帖子]

测试,当选择最后一个窗体表时无效,前面的两个表选择后是对的,代码逻辑还有点问题,如何改?

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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 22:00:00 [显示全部帖子]

代码改为:

If Forms("笔记与档案").Opened Then
            Tables("笔记与档案_Table短信").Theme = "Office2013Green"
            Tables("笔记与档案_Table下校").Theme = "Office2013Green"
            Tables("笔记与档案_Table笔记与档案").Theme = "Office2013Green"
    Select Case CurrentTable.DataTable.Name
        Case "笔记与档案_Table短信"
            Tables("笔记与档案_Table短信").Theme = "Office2013Red"
        Case  "笔记与档案_Table下校"
            Tables("笔记与档案_Table下校").Theme = "Office2013Red"
        Case Else 
            Tables("笔记与档案_Table笔记与档案").Theme = "Office2013Red"
    End Select
End If

 

此时正确,但我没有明白它的道理。两者差异?


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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 22:45:00 [显示全部帖子]

为实现窗体表中能自动换行

方法一:在单元格的AfterEdit事件中写了下面的代码

If e.Col.Name = "内容"  Then
    e.Table.AutoSizeRow(e.Row.Index * 2)
End If

方法二:在BeforeDrawRow事件中写了如下代码

  '绘制某一行之前执行,通常用于动态设置行高

Tables("笔记与档案_Table笔记与档案").DefaultRowHeight = 54

方法三:手动将行高拉高,拉得再高,行里面的内容仍然一行显示 ,没有多行显示

如何办?


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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 22:46:00 [显示全部帖子]

上面的方法都没有效果,

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


加好友 发短信
等级:童狐 帖子:214 积分:2290 威望:0 精华:0 注册:2020/10/3 6:58:00
  发帖心情 Post By:2020/12/21 23:27:00 [显示全部帖子]

1、e.Row.Index 这个说明的是行号还是行的宽,应该是行号吧!

在单元格的AfterEdit事件中改写了下面的代码 仍然无效

If e.Col.Name = "内容"  Then
    e.Table.AutoSizeRow(e.Row.Index)
End If

2、为什么手动拉高行,拉得再高,行里面的内容仍然一行显示?

3、26楼的代码 在窗口表中测试仍然无效

If e.DataCol.Name = "内容"  Then
    Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
    Tables(e.DataTable.Name).AutoSizeRow(idx)
End If

 回到顶部
总数 17 上一页 1 2